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

一.操作系统计数器和分析
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.每秒事务数
 
遇到的问题:
1.在高并发下大量报错
常见的原因有短连接导致的端口被完全占用以及线程池最大线程数配置较小及超时时间较短导致。
 
2.集群类系统,各服务节点负载不均衡
原因解析:出现这类问题的原因一般是SLB服务设置了会话保持,会导致请求只分发到其中一个节点。
调优方案:如果确认是如上原因,可通过修改SLB服务(F5/HA/Nginx)的会话保持参数为None,然后再次压测验证;
posted @ 2021-05-20 15:36  丝瓜呆呆  阅读(166)  评论(0)    收藏  举报