分析在 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 版本不匹配

Django 和 mod_wsgi python 版本?

使用 mod_wsgi 在 Centos 6.5 上部署基于 python3.4 的 Django 项目:可行吗?

试图让 django 应用程序在 CentOS 5 上使用 mod_wsgi