Flask 性能分析
使用werkzeug.middleware.profiler.ProfilerMiddleware
中间件对Flask的每个请求进行性能分析。其使用python默认的cProfile或profile对请求入口函数wsgi_app进行性能度量从而达到分析一个请求中各部分性能的目的。wezkzeug
是实现Flask的底层包之一。
from werkzeug.middleware.profiler import ProfilerMiddleware
app.wsgi_app = ProfilerMiddleware(app.wsgi_app)
输出的形式如下
PATH: '/xxx/yyy/1'
45309 function calls (44223 primitive calls) in 0.085 seconds
Ordered by: internal time, call count
ncalls tottime percall cumtime percall filename:lineno(function)
593 0.017 0.000 0.017 0.000 {built-in method io.open}
18 0.016 0.001 0.016 0.001 {method 'recv_into' of '_socket.socket' objects}
675 0.007 0.000 0.007 0.000 {built-in method posix.stat}
ncalls
: 调用次数tottime
: 在指定函数中消耗的总时间(不包括调用子函数的时间)percall</