Flask性能调优(查看每次请求涉及的函数调用耗时)¶
开启flask性能调优¶
代码示例:
import time
from flask import Flask
from werkzeug.middleware.profiler import ProfilerMiddleware
app = Flask(__name__)
# 注意这里的ProfilerMiddleware
app.wsgi_app = ProfilerMiddleware(app.wsgi_app)
@app.route("/")
def hello_world():
time.sleep(2)
return "<p>Hello, World!</p>"
app.run()
上述代码中,通过 app.wsgi_app = ProfilerMiddleware(app.wsgi_app)
开启了Flask性能调优功能。
这里,我们还编写了一个用于测试的hello_world
函数,它sleep了两秒,以便模拟耗时的操作,后面我们会从日志里看到效果。
分析flask性能调优日志¶
执行上述函数,开启一个http服务,浏览器中访问它。默认地址是http://127.0.0.1:5000
。访问后,控制台会输出一堆信息,大概内容如下:
PATH: '/'
610 function calls (594 primitive calls) in 2.003 seconds
Ordered by: internal time, call count
ncalls tottime percall cumtime percall filename:lineno(function)
1 2.001 2.001 2.001 2.001 {built-in method time.sleep}
1 0.000 0.000 0.001 0.001 C:\python\.venv\lib\site-packages\flask\ctx.py:346(match_request)
这里我只截取前面的几行,可以看到,排在最上面的就是 time.sleep
函数,消耗了2秒钟,它便是hello_world
函数的性能瓶颈了。
本文为kyleblog.cn原创,转载请注明出处:https://www.kyleblog.cn/posts/flask_profile
发布日期:2023-03-08
联系作者