gpt4 book ai didi

python - 如何分析 `paster serve` 的启动时间?

转载 作者:太空宇宙 更新时间:2023-11-04 01:44:01 25 4
gpt4 key购买 nike

Python 的 paster serve app.ini 为第一个请求准备的时间比我希望的要长。

我知道如何使用中间件分析请求,但如何分析初始化时间?我希望它不要 fork 线程池并在准备好服务后立即退出,这样它准备好后的时间就不会显示在配置文件中。

最佳答案

一般来说,您的方法可能是围绕代码部分执行计时 block ,然后发出日志记录语句。至于初始化后的关机,我不熟悉你正在使用的具体细节。

编辑:我使用这个中间件来帮助我找到性能漏洞。它目前是一个 werkzeug 中间件,您可以根据自己的使用情况调整它。希望对你有帮助

import re
re_profile = re.compile(ur'(^|&|\?)prof($|=|&)')
class ProfilerMiddleware(BaseProcessor):
def process_runner(self, runner, environ):
self.profiler = None
if (environ['REMOTE_ADDR'] in settings_static.internal_ips or settings_static.local_server) and re_profile.match(environ['QUERY_STRING']):
self.profiler = cProfile.Profile()
def wrap(*args, **kwargs):
return self.profiler.runcall(runner, *args, **kwargs)
return wrap

def process_response(self, request, response):
if self.profiler:
self.profiler.create_stats()
out = StringIO.StringIO()
old_stdout, sys.stdout = sys.stdout, out
#from dozer.profile import buildtree, write_dot_graph
#write_dot_graph(self.profiler.getstats(), buildtree(self.profiler.getstats()), "/tmp/output.gv")
self.profiler.print_stats(1)
sys.stdout = old_stdout
response.response = [u'<pre>%s</pre>' % to_unicode(out.getvalue())]
response.content_type = 'text/html'

关于python - 如何分析 `paster serve` 的启动时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1702024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com