性能问题之响应时间长
案例
压测过程中,某个接口,30个线程测试,平均响应时达到300多毫秒,TPS是70多,但是此时服务器资源占用都比较低。
问题分析 通过Jprofiler定位响应时间长的问题
1、Jprofiler安装配置
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两个方法。
此时已经找到了有问题的方法,直接看源码找到这两个方法分析下或者直接反馈给开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix