分析在 Mod_wsgi 上运行的 Python 脚本
Posted
技术标签:
【中文标题】分析在 Mod_wsgi 上运行的 Python 脚本【英文标题】:Profiling Python Scripts running on Mod_wsgi 【发布时间】:2009-07-23 05:52:07 【问题描述】:如何分析在 apache 上的 mod_wsgi 上运行的 python 脚本
我想使用 cProfile,但它似乎需要我手动调用一个函数。有没有办法全局启用 cProfile 并让它继续记录结果。
【问题讨论】:
【参考方案1】:您需要将 wsgi 应用程序函数包装在另一个函数中,该函数只使用 cProfile 调用您的函数并将其用作应用程序。或者您可以重用现有的 WSGI 中间件来为您执行此操作,例如 repoze.profile 几乎可以满足您的需求。
【讨论】:
【参考方案2】:这是WHIFF 的 WSGI 配置文件中间件(目前仅可从 mercurial 存储库获得): profile.py。那应该让你开始。如果您想修改它以在 WHIFF 上下文之外运行,请更改行
gateway.putResource(env, resourcePath, report)
类似
file("/tmp/profile.txt", "w").write(report)
【讨论】:
以上是关于分析在 Mod_wsgi 上运行的 Python 脚本的主要内容,如果未能解决你的问题,请参考以下文章
将 mod_wsgi 从 python3.5 更改为 3.6
使用与系统默认版本不同的 virtualenv 或 Python 运行 mod_wsgi
mod_wsgi on Snow Leopard python 版本不匹配