在Python中测量性能
我正在用Python写一个网页应用,但还没决定是用Flask、web.py还是其他框架。我希望能在运行中的应用上进行性能分析。
关于如何实现性能测量的工具,网上的信息似乎很少,除了到处加很多print datetime.now()的代码。
那么,怎样才能更好地为我的Python应用添加性能测量的功能呢?我想找的东西类似于Stackoverflow团队的mvc-mini-profiler。
4 个回答
0
你可以使用一个通用的网页应用性能工具,比如httpperf。这个工具通过外部客户端来运行,适用于任何框架,因为它是通过标准接口(HTTP)来工作的。所以,它可以测试整个系统的性能。
4
Amir Salihefendic 写了一个简短的程序(只有150行代码),叫做 RequestProfiler
,在这篇博客文章中有介绍:
我还没有试过这个程序,但因为它是一个 WSGI 中间件,所以应该可以比较方便地使用。
8
你可以直接使用Python自带的cProfile工具:
python -m cProfile script.py
当然,你需要先创建一个script.py文件,这个文件会执行你想要测试的代码部分。如果你有一些单元测试,也可以用这些测试。
或者你也可以使用:
import cProfile
cProfile.run('foo()')
从foo
这个入口点来进行性能分析。