性能计数器和性能分析方法

Posted 丝瓜呆呆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能计数器和性能分析方法相关的知识,希望对你有一定的参考价值。

一.操作系统计数器和分析

1.内存分析方法

iostat命令
Read(write) per sec :磁盘读写次数,一般>5,表示磁盘读,而不是缓存读  r/s w/s
磁盘使用率高,磁盘队列长(wait),而Read(write) per sec小,就是磁盘瓶颈
队列变长,而Read(write) per sec不降,是由于内存不足
 
 

2.CPU分析方法

Cpu使用率,不超过90%,如果多CPU负载不均,也是CPU瓶颈
用户CPU使用率:较大,需要优化算法
数据库:排序或者函数操作
 
 

3.磁盘I/O分析方法

如果服务器是流媒体,数据库或者文件,更容易成为瓶颈
如果只是磁盘使用率较大,可能是磁盘瓶颈
如果相关的值都比较大,可能是内存泄露
 
 

 4.进程分析方法

查看哪个进程处理时间长
查看哪个进程页面失效多,或需要大量内存,或活跃度高
如果resident Size,即进程保留内存量,较大,内存泄露
 
 

5.网络分析方法

发送和接收字节的速率,将它和网络带宽进行比较
 

二.应用服务器计数器和分析(分J2EE和IIS)

主要看J2EE
JVM   1.堆大小
          2.可用堆大小
JDBC 连接池   1.等待的连接数量 ,该值大的话,增加JDBC连接池大小
                        2.JDBC总连接数
                        3.JDBC连接池的总容量    
                        4.活跃的JDBC连接数
                    均是 获取合理的JDBC连接池设置,提高利用率
执行队列 
  1.                 空闲线程数量
  2.                 队列请求的最长时间,判断有无明显阻塞
  3.                 已处理的请求总数
  4.                 挂起数量

 三.数据库计数器和分析

系统:1.Total Processor Time:数据库进程占用的CPU时间
           2.User Connections:当前用户连接数   超出连接数可能直接被拒绝或者其他异常
 
内存:1.Cache Hit Ratio:缓存命中率。命中率较小,而数据库繁忙,可以调整缓存大小
          2.Total server Memory:SQL server 数据库进程使用的内存
 
锁:1.Average Wait Time:锁平均等待时间
       2.Lock Requests/sec : 每秒锁请求数
       3.Number of DeadLock /sec 每秒死锁数:较大需要排查
 
IO:1.被挂起的物理读写,挂起值大,可能是CPU或者磁盘I/O产生瓶颈
  1. 每秒页面读写数
       3.每秒事务数
 

以上是关于性能计数器和性能分析方法的主要内容,如果未能解决你的问题,请参考以下文章

Windows性能计数器分析性能监视器的使用

将性能计数器与属性一起使用

(转)性能测试之----瓶颈分析方法

性能计数器 - 每分钟速率类型? [复制]

C# WMI、性能计数器和 SNMP 哦,天哪!

我将性能计数器的值发送到 Graphite 的方法非常慢。瓶颈是啥?以及如何改进?