解析性能跟踪文件stderr,对性能数据从以下几个维度进行分析:
1、全天的调用次数趋势
2、全天的调用耗时趋势
3、负载较高的server
4、效率较低的service
5、调用少,空闲率高且后台进程数多的server
一、调用次数和调用耗时趋势图分析
通过解析性能跟踪文件stderr,从调用次数和调用耗时两个方面显示系统的业务压力趋势和业务性能趋势。在调用次数趋势图中显示的为调用次数较高的server全天的调用趋势,在调用耗时趋势图中显示的调用耗时较长或波动较大的server。
调用次数趋势图
1、可以看到趋势图曲线平顺,无异常突增调用,很明显的业务高峰期。
2、可以看到粉色的趋势图有多次大范围波动,存在异常。
3、可以看到趋势图曲线平顺,调用次数不多,无异常突增调用。无明显业务高峰。
调用耗时趋势图
1、通过趋势图可以看到粉色的线耗时高于其他的server,可能是后续处理耗时较长或业务逻辑复杂,后台进程的需求应为其他server的5-7倍。
2、调用耗时趋势图可看到粉色的线耗时波动较为剧烈,处理效率方面需要关注。
3、调用耗时趋势图可以看到粉色的线的耗时波动比较剧烈,是否为批量业务,应考虑限流措施,以免过分占用资源,影响其他业务。
二、负载较高的server
根据性能跟踪文件stderr,按分钟全天的性能数据,每分钟一条记录,包括:service name,Num(一分钟内的调用次数),Duration(一分钟内所有调用的执行总时长),Highest Duration(一分钟内最长一次调用的时长),再通过PSC对应server与service的关系,及算出server的进程数(MIN)。结合以上数据得出每个server下每个service在1秒内所有调用的总时长(Efficiency)。注,文档中所有时长数据单位都为秒。
Efficiency=Duration/NUM/MIN/60s
截取全天所有分钟中每个service调用次数最多的一行记录,并对server下所有service的Efficiency求和,得到server在1秒内所有service调用所需时长(Total Duration),即业务压力峰值进行分析:
a、Total Duration值超过1秒表示应在1秒内执行完的调用未在1秒内执行完,可能会造成请求排队或性能问题。
b、Total Duration值接近1秒表示server的idle较低,没有足够的空闲处理能力,可能会造成在与业务增长时请求排队或性能问题。
从以上数据可以看到ATA每个server处理完在1秒内所有的请求需要4.56秒左右,远远超过ATA的负载。主要由Oth的调用时间长造成,需进一步分析Oth调用时间长的原因。
三、效率较低的service
按每个系统每天调用总次数进行排序,截取平均每次调用所用时间在0.02秒以上的TOP15的记录。包括Total Num(全天的总调用次数),Total Duration(全天的总调用时间),Avg Duration(全天平均每次调用所用时间 Total Duration/Total Num),Highest Duration(全天最长一次调用的时长)。
所截取出的service都是调用次数多且平均调用时长和最高一次调用时长过长,即单次调用的响应过长,影响用户体验,需要对调用时长进行优化。
从以上数据可以看到这个几service的调用平均都非常长,要从service的执行效率进行优化。
四、调用少,空闲率高且server进程数多的server
截取每个server下所有service调用次数最多一个service,每个service每分钟最大调用在50以下,且Efficiency在0.01毫秒以下,server进程数大于10的记录。所截取出来的server表示调用少,空闲率高,可以适当的减少server的进程数,减少不必要的资源占用。
从以上数据可以看到这些server的执行效率都非常高,都只在很短的时间就执行结束,但是MIN却非常大,所以可以适当的减少MIN值。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29960155/viewspace-1378746/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29960155/viewspace-1378746/