出现应用程序瓶颈症状:
1.吞吐率低,CPU高,其余指标正常。
分析建议:请求数不大,但是CPU繁忙,判断应用程序代码,如创建实体类对象的时候耗内存,或者资源使用完成不及时关闭,长时间运行,容易导致内存泄露。
2.每秒请求数曲线和吞吐率曲线不大致相似,其余正常
分析建议:每秒请求数和吞吐率为正比关系,吞吐率过低,表示服务器虽然能够接受服务器的请求,但返回结果较慢,可能是程序处理缓慢,此外其余参数指标正常,可判断应用程序出现问题。
3.CPU和内存不断增长,但其余值正常
分析建议:系统资源被征用,用完不释放,长此以往,内存泄露。
出现CPU瓶颈症状:
1.%ProcessortimeCPU使用率超过90%,其余正常。
分析建议:处理器长期超负荷工作,该CPU不能满足当前压力,建议更换CPU。
2. ProcessorQueue Length 处理器队列长度总是不稳定,或者偏高。
分析建议:CPU处理效果不稳定,或者CPU处理有堵塞,建议更换CPU。
3.processor/%user time非核心操作消耗cpu的时间过大。
分析建议:结合CPU使用率分析,如果cpu使用频率正常,可优化算法,优化数据库语句降低该值。
出现磁盘I/O瓶颈症状:
1.Avg.DiskQueue Length的值很高
分析建议:该值说明请求已经开始排队,服务器不能及时读取所有请求,建议更换读取速度更好的硬盘。
2. Avg.disksec/read的参考数值
分析建议:该值小于10ms,好。10ms-20ms,正常。20ms-50ms,需要重视。大于50ms,严重的磁盘I/O瓶颈
3. Avg.disksec/write的参考数值
参考Avg.disk sec/read的参考数值
4. %Disk time的参考数值
分析建议:一般该值处于60%—90%即可,超过90%,磁盘有瓶颈。
出现连接数瓶颈症状:
1.connectionrefused内容过多。
分析建议:请求过多,系统不处理,服务器拒绝请求,说明服务器开启默认自我保护的机制,超过请求数,予以拒绝。此时,应调整服务器最大连接数,每次增加25%。此外,拒绝的内容较多,可排查下是不是图片较多,或者有些内容需要请求外网。
出现数据库瓶颈症状:
1.业务失败多,各项指标但都正常。
分析建议:数据库连接池数过小,需要适当调整,此外,可能是数据库死锁导致,究其原因,进程处理的不当。
2.数据库效率低,大部分的时间消耗在数据库上。
分析建议:对数据库进行优化,分表,分区,创建索引,优化语句。
出现内存泄露瓶颈症状:
1.系统长时间运行爱死机,相应时间越来越长。
分析建议:process\private bytes计数器和process\workingset 计数器的值往往会升高,同时avaiable bytes的值会降低。内存泄漏应该通过一个长时间的,用来研究分析所有内存都耗尽时,应用程序反应情况的测试来检验。
2. 响应时间慢慢边长,然后稳,最后降。
分析建议:适当减少系统连接数,不让服务器中堆积大量来不及排队的请求。