在Python中测量性能

14 投票
4 回答
7677 浏览
提问于 2025-04-16 20:01

我正在用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这个入口点来进行性能分析。

撰写回答