您现在的位置是:首页 >

cpu性能瓶颈 Java程序性能优化-木桶原理与性能瓶颈

火烧 2022-02-23 18:20:06 1059
Java程序性能优化-木桶原理与性能瓶颈    木桶原理与性能瓶颈  木桶原理又称 短板理论 其核心思想是 一只木桶盛水的多少 并不取决于桶壁上最高的那块木块 而是取决于桶壁上最短的那块 如图 所示

Java程序性能优化-木桶原理与性能瓶颈  

     木桶原理与性能瓶颈

  木桶原理又称 短板理论 其核心思想是 一只木桶盛水的多少 并不取决于桶壁上最高的那块木块 而是取决于桶壁上最短的那块 如图 所示

  图   木桶原理示意图

  将这个理论应用到系统性能优化上 可以这么理解 即使系统拥有充足的内存资源和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程序性能优化-木桶原理与性能瓶颈

  锁竞争 对高并发程序来说 如果存在激烈的锁竞争 无疑是对性能极大的打击 锁竞争将会明显增加线程上下文切换的开销 而且 这些开销都是与应用需求无关的系统开销 白白占用宝贵的CPU资源 却不带来任何好处

  内存 一般来说 只要应用程序设计合理 内存在读写速度上不太可能成为性能瓶颈 除非应用程序进行了高频率的内存交换和扫描 但这些情况比较少见 使内存制约系统性能的最可能的情况是内存大小不足 与磁盘相比 内存的大小似乎小的可怜 这意味着应用软件只能尽可能将常用的核心数据读入内存 这在一定程度上降低了系统性能

      返回目录Java程序性能优化 让你的Java程序更快 更稳定

  编辑推荐

  Visual C++音频/视频技术开发与实战

  Oracle索引技术

lishixinzhi/Article/program/Java/gj/201311/27848  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码