知识大全 Java程序性能优化-木桶原理与性能瓶颈
Posted 系统
篇首语:黑暗带来恐惧。知识可以点亮你,驱逐恐惧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java程序性能优化-木桶原理与性能瓶颈相关的知识,希望对你有一定的参考价值。
Java程序性能优化-木桶原理与性能瓶颈 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
木桶原理与性能瓶颈
木桶原理又称 短板理论 其核心思想是 一只木桶盛水的多少 并不取决于桶壁上最高的那块木块 而是取决于桶壁上最短的那块 如图 所示
图 木桶原理示意图
将这个理论应用到系统性能优化上 可以这么理解 即使系统拥有充足的内存资源和CPU资源 但是如果磁盘I/O性能低下 那么系统的总体性能是取决于当前最慢的磁盘I/O速度 而不是当前最优越的CPU或者内存 在这种情况下 如果需要进一步提升系统性能 优化内存或者CPU资源是毫无用处的 只有提高磁盘I/O性能才能对系统的整体性能进行优化 而此时 磁盘I/O就是系统的性能瓶颈
注意 根据木桶原理 系统的最终性能取决于系统中性能表现最差的组件 因此 为了提升系统整体性能 必须对系统中表现最差的组件进行优化 而不是对系统中表现良好的组件进行优化
根据应用的特点不同 任何计算机资源都有可能成为系统瓶颈 其中 最有可能成为系统瓶颈的计算资源如下
磁盘I/O:由于磁盘I/O读写的速度要比内存慢很多 程序在运行过程中 如果需要等待磁盘I/O完成 那么低效的I/O操作会拖累整个系统
网络操作 对网络数据进行读写的情况与磁盘I/O类似 由于网络环境的不确定性 尤其是对互联网上数据的读写 网络操作的速度可能比本地磁盘I/O更慢 因此 如不加特殊处理 也极可能成为系统瓶颈
CPU:对计算资源要求较高的应用 由于其长时间 不间断地大量占用CPU资源 那么对CPU的争夺将导致性能问题 如科学计算 D渲染等对CPU需求旺盛的应用
异常 对Java应用来说 异常的捕获和处理是非常消耗资源的 如果程序高频率地进行异常处理 则整体性能便会有明显下降
数据库 大部分应用程序都离不开数据库 而海量数据的读写操作可能是相当费时的 而应用程序可能需要等待数据库操作完成或者返回请求的结果集 那么缓慢的同步操作将成为系统瓶颈
锁竞争 对高并发程序来说 如果存在激烈的锁竞争 无疑是对性能极大的打击 锁竞争将会明显增加线程上下文切换的开销 而且 这些开销都是与应用需求无关的系统开销 白白占用宝贵的CPU资源 却不带来任何好处
内存 一般来说 只要应用程序设计合理 内存在读写速度上不太可能成为性能瓶颈 除非应用程序进行了高频率的内存交换和扫描 但这些情况比较少见 使内存制约系统性能的最可能的情况是内存大小不足 与磁盘相比 内存的大小似乎小的可怜 这意味着应用软件只能尽可能将常用的核心数据读入内存 这在一定程度上降低了系统性能
返回目录 Java程序性能优化 让你的Java程序更快 更稳定
编辑推荐
Visual C++音频/视频技术开发与实战
Oracle索引技术
cha138/Article/program/Java/gj/201311/27848相关参考
Java程序性能优化-看懂程序的性能 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-性能概述 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 第章 J
Java程序性能优化-性能的参考指标 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java程序性能优化-优化的一般步骤 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
知识大全 Java程序性能优化--让你的Java程序更快、更稳定
Java程序性能优化--让你的Java程序更快、更稳定 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
Java程序性能优化-系统优化注意事项 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Java程序性能优化(3) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 十四对于boolean
Java程序性能优化(2) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 八如果只是查找单个字符
Java程序性能优化(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一避免在循环条件中使用
漫谈Java程序的性能优化 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Java使得复杂应用的