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