5、性能调优
5.1 寻找性能瓶颈
通常性能瓶颈的表象
5.1.1 CPU消耗分析
作用:CPU主要用于中断、内核以及用户进程的任务处理,优先级为中断>内核>用户进程,
三个重要概念阐述:
香看进程中线程的CPU的消耗状况
CPU消耗严重
5.1.2 文件IO消耗分析
5.1.3 网络IO消耗分析
5.1.4 内存消耗分析
对于JVM内存消耗状况分析的方法在深入JVM中已介绍(jmap、jstat、mat、visualvm等方法),在此就不再进行阐述
对于JVM堆以外的内存方面的消耗,最为值得关注的是swap的消耗以及物理内存的消耗,这两 方面的消耗都可基于os提供的命令来查看。
从上面的状况来看,在Java程序出现内存消耗过多、GC频繁或OutOfMemoryError的倩况后, 要首先分析其所耗费的是JAM处的物理内存还晨JVM heap区。
5.1.5 程序执行慢原因分析
5.2 调优
5.2.1 JVM调优
代大小的调优
GC策略的调优
CMS GC多数动作是和应用并发进行的,确实可以减小GC动作给应用造成的暂停。
JVM调优案例
5.2.2程序调优
CPU消耗严重的解决方法
文件IO消耗严重的解决方法
网络O消耗严重的解决方法
常用的调优方法为进行限流,限流通常是限制发送packet的频率,从而在网络IO消耗可接受的情况下来发送packet。