《JAVA 程序性能优化》读书笔记:木桶原理与性能瓶颈

原创 2015年11月19日 22:58:08

木桶理论又称短板理论,其核心思想是一只木桶盛水多少,并不取决于最高的木板,而取决于最短的那块木板。

这个理论应用到系统优化上,可以这么理解,即使系统拥有充足的内存资源和CPU资源,但是如果磁盘 I/O性能低下,那么系统的总体性能取决于当前最慢的磁盘I/O速度,而不是当前最优的CPU或内存。在这种情况下,如果需要进一步提升系统性能,优化内存或者CPU资源是毫无用处的,只有提高磁盘I/O才能对系统的整体性能进行优化,磁盘I/O就是系统的瓶颈。

根据应用的特点不同,最有可能成为瓶颈的如下:

  • 磁盘I/O: 磁盘I/O读写的速度可能比内存慢很多
  • 网络操作:网络操作的速度可能比本地磁盘I/O更慢
  • CPU:可能不断的大量占用CPU资源
  • 异常:异常的捕获和处理是非常消耗资源的,如果程序高频率地进行异常处理,则整体性能会明显下降
  • 数据库:数据库操作完成或者返回请求结果集
  • 锁竞争:对于高并发程序来说,锁竞争将会明显增加线程上下文切换开销
  • 内存:只要应用程序设计合理,内存读写速度上不太可能成为瓶颈。除非应用程序进行高频的内存交换,但这这种情况比较少见。内存制约系统最可能的情况是内存大小不足。


版权声明:本文为博主原创文章,未经博主允许不得转载。

JVM 性能调优实战之:一次系统性能瓶颈的寻找过程

玩过性能优化的朋友都清楚,性能优化的关键并不在于怎么进行优化,而在于怎么找到当前系统的性能瓶颈。性能优化分为好几个层次,比如系统层次、算法层次、代码层次...JVM 的性能优化被认为是底层优化,门槛较...
  • defonds
  • defonds
  • 2016年09月20日 17:39
  • 22318

《java系统性能调优》--1.发现瓶颈

性能啊!性能! 之所以想写写性能调优,也是有感于我们的项目,我们采用一些手段使得系统性能上升了一个台阶,总是需要把这点经验沉淀一下。随着工作的深入,关于系统性能的事肯定还有很多,也算是通过这个...

寻找java应用的性能瓶颈----文件IO分析

linux下跟踪文件IO消耗,主要通过两种方式 1.pidstat 直接找到IO读写量大的线程ID,然后结合线程dump可以找到相应耗文件IO多的动作 2.iostat,查看整个系统...

Java Simon--性能瓶颈分析工具

使用Java Simon监控系统中方法执行时间,帮助分析性能瓶颈。

寻找java应用的性能瓶颈----网络IO消耗分析

网络消耗非常值的关注,尤其是在分布式java应用中,尤其要注意网卡中断是不是均匀地分配到各CPU的,可以通过查看/proc/interrupts。对于网卡中断只分配到一个cpu的现象,google采用...

读书笔记_Java程序性能优化_Chap1.概述

来,拿出抄书的精神看一本书!今次要看这本《Java程序性能优化》,计划在本月底完成,现在是3月5号。OK,Let's start our class! 程序性能的参考标准: ...

Java程序性能优化 读书笔记(十六)集合访问优化

转载:Java优化集合代码的一些方法 我们平常在开发中都会用到很多的集合类,但是在使用的时候会有很多自己都不怎么注意的小习惯会影响一些效率,这次就介绍一下优化集合代码的一些小方法; 一、分离循环中...

Java程序性能优化 读书笔记(一)Java性能调优概述

一、程序性能的主要表现点 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够短内存分配:内存分配是否合理,是否过多地消耗内存或者存在内存泄漏启动时间:程序从运行到可以正常处理...

Java程序性能优化读书笔记脑图

  • 2017年07月21日 17:13
  • 428KB
  • 下载

Java程序性能优化读书笔记(一):Java性能调优概述

性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!!...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《JAVA 程序性能优化》读书笔记:木桶原理与性能瓶颈
举报原因:
原因补充:

(最多只允许输入30个字)