我正在用Python编写一个Web应用程序,我还没有决定是否要使用Flask,web.py或其他东西,我希望能够在实时应用程序上进行配置文件。
似乎很少有关于如何实施仪器来进行性能测量的信息,而不是在任何地方做很多打印datetime.now()。
有关检测Python应用程序的最佳方法是什么,以便进行良好的测量。我想我正在寻找类似于Stackoverflow团队mvc-mini-profiler的东西。
我正在用Python编写一个Web应用程序,我还没有决定是否要使用Flask,web.py或其他东西,我希望能够在实时应用程序上进行配置文件。
似乎很少有关于如何实施仪器来进行性能测量的信息,而不是在任何地方做很多打印datetime.now()。
有关检测Python应用程序的最佳方法是什么,以便进行良好的测量。我想我正在寻找类似于Stackoverflow团队mvc-mini-profiler的东西。
您可以简单地运行Python附带的cProfile工具:
python -m cProfile script.py
当然,您必须创建script.py文件,该文件将执行您要测试的代码部分。如果你有一些单元测试,你也可以使用它。
或者你使用:
import cProfile
cProfile.run('foo()')
从中分析它 foo
入口点。
Amir Salihefendic写了一篇短片(150 LOC) RequestProfiler
,这篇博客文章中描述了:
我没有尝试过,但由于它是一个WSGI中间件,它应该是可插拔的。
您可以使用通用的Web应用程序性能工具,例如 httpperf。这适用于使用外部客户端并适用于任何框架,因为它适用于标准接口(HTTP)。因此,它测试完整的堆栈性能。
使用 新遗物免费监控系统。您只需在服务器上安装代理并指向烧瓶即可 在里面.py文件。使用正确的代理设置运行应用程序后,您将开始查看应用程序指标,请参阅New Relic的名为APM的在线仪表板。 默认情况下,它会显示应用程序吞吐量(QPS / RPM),应用程序响应时间,最高事务,错误率,错误堆栈跟踪(如果有的话)(例如500错误),调用外部服务等图表。此外,您还可以监控你的系统统计数据。