Wil*_*ill 9 python performance profiling
我有一个长期运行的扭曲服务器.
在大型系统的测试,在一个特定点数分钟到测试,当一些客户进入特定国家和特定的外部事件发生,那么这台服务器需要100%的CPU的几分钟,做的工作非常缓慢.我想知道它在做什么.
如何在长时间运行的服务器中获取特定时间段的配置文件?
如果有办法在运行时启用或注入探查器,我可以轻松地通过HTTP发送服务器启动和停止消息?
鉴于选择,我希望基于堆栈 /调用图分析,但即使叶采样也可能提供洞察力.
Mik*_*bov 11
yappi profiler可以在运行时启动和停止.
ana*_*cat 5
出现了两个有趣的工具来尝试解决该特定问题,您可能不必提前在代码中进行分析,但希望在紧要关头对生产代码进行分析。
pyflame将使用ptrace(2)系统调用附加到现有进程并创建进程的“火焰图”。它是用 Python 编写的。
py-spy 的工作原理是读取进程内存并找出 Python 调用堆栈。它还提供了一个火焰图和一个“类似顶部”的界面来显示哪个函数花费的时间最多。它是用 Rust 和 Python 编写的。
归档时间:
13 年,7 月 前
查看次数:
4186 次
最近记录:
6 年,7 月 前