原标题:一次python代码瓶颈定位经历
执行jmeter压测过程中,发现接口的相应时间长。
首先排查网络拓扑各个节点的硬件资源消耗。
发现应用服务器的CPU 消耗较大。
重新压测该接口的过程中,通过top定位应用服务器的CPU 消耗高的进程。可见导致CPU高消耗的进程是python,且该python代码运行过程中不断更新PID。
应用服务器中包含如下python脚本,通过py-spy工具继续定位导致CPU高消耗的函数。
先不执行压测脚本,执行py-spy工具命令,如下截图可见python代码未运行的情况下,未捕获到python函数,即py-spy工具是python动态代码走查工具:
# /usr/local/python3/bin/py-spy -- python bairong_xgb.py /tmp
# /usr/local/python3/bin/py-spy -- python call_api.py /tmp
# /usr/local/python3/bin/py-s