在Mod_wsgi上分析Python脚本性能

6 投票
2 回答
2586 浏览
提问于 2025-04-15 13:06

我想知道如何在Apache的mod_wsgi上对一个Python脚本进行性能分析。

我想用cProfile这个工具,但它好像需要我手动调用一个函数。有没有办法可以全局启用cProfile,让它一直记录结果呢?

2 个回答

0

这里是用于 WHIFF 的 WSGI 性能分析中间件(目前只能从 mercurial 仓库获取):profile.py。这个文件应该能帮助你入门。如果你想修改它,让它在 WHIFF 环境之外运行,可以把这一行

 gateway.putResource(env, resourcePath, report)

改成类似这样的内容

 file("/tmp/profile.txt", "w").write(report)
10

你需要把你的wsgi应用程序函数放在另一个函数里,这个新函数只是用cProfile来调用你的函数,然后把这个新函数作为应用程序使用。或者,你也可以利用现有的WSGI中间件来帮你完成这个,比如repoze.profile就能做到你想要的效果。

撰写回答