在开发联调阶段发现一个接口的响应时间特别长,经常超时,囧…
本文讲讲是如何定位到性能瓶颈以及修改的思路,将该接口从 2 s 左右优化到 200ms 以内 。
二、步骤
2.1 定位
定位性能瓶颈有两个思路,一个是通过工具去监控,一个是通过经验去猜想。
2.1.1 工具监控
就工具而言,推荐使用 arthas ,用到的是 trace 命令
具体安装步骤很简单,大家自行研究。
我的使用步骤是,先最终待研究的函数的最外层:
trace com.xxx.service.impl.AServiceImpl refresh
其中耗时最多的子函数会被标红色