性能问题之响应时间长


案例

压测过程中,某个接口,30个线程测试,平均响应时达到300多毫秒,TPS是70多,但是此时服务器资源占用都比较低。

性能问题之响应时间长

 

问题分析  通过Jprofiler定位响应时间长的问题

1、Jprofiler安装配置
https://www.cnblogs.com/daydayup-lin/p/16147038.html
 
2、定位方法

  (1)使用jprofiler的方法耗时统计功能,可以统计出每个方法的耗时:

  (2)点击CPU views — Method Statistics

  (3)点击监控按钮,开始监控进程的方法耗时

  (4)等待30s(时间太短分析样本太少),点击停止监控按钮

  (5)查看表格中的各方法耗时和调用次数

 
3、分析过程
(1)查看总览数据,数据正常
性能问题之响应时间长

 (2)线程多数是等待状态

性能问题之响应时间长

(3)查看内存图,已使用内存(蓝色)走势也会比较正常的

性能问题之响应时间长

 (4)查看CPU,CPU消耗不算大

性能问题之响应时间长

(5)下面查看method statistics,抓取30秒数据

性能问题之响应时间长

从图中可以看出doFilter主要调用了time这个方法,从上到下一步步调用
上图中可以查看耗时比较长的是getDataFromDb/getDataFromRedis两个方法。

此时已经找到了有问题的方法,直接看源码找到这两个方法分析下或者直接反馈给开发

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/245278.html

(0)
上一篇 2022年4月18日
下一篇 2022年4月18日

相关推荐

发表回复

登录后才能评论