如何测试呈现pylons页面请求所需的时间?
我在哪里挂钩? (以及我用什么类/方法输出这些信息)
我对pylons和python都不熟悉。
答案 0 :(得分:3)
有几种方法可以做到这一点,这取决于您是否要进行分析/测试或生产。
如果您想要分析,那么最简单的设置是repoze.profile。它是一个WSGI中间件,用于描述在WSGI堆栈中发生的所有事件。 要使用它,请将它放在midware.py
中的应用之前例如:
# The Pylons WSGI app
app = PylonsApp()
#Profile the app
app = AccumulatingProfileMiddleware(
app,
log_filename='/profiling.log',
cachegrind_filename='/cachegrind.out',
discard_first_request=True,
flush_at_shutdown=True,
path='/__profile__'
)
这将简要介绍您的应用,并为您提供一个网页,您可以在其中查看输出。请注意输出需要一些习惯,如果您使用SqlAlchemy,大多数调用将在那里。 不要使用这是生产环境,因为它会增加大量开销
如果您希望页面时间进行测试,那么使用timeit模块和pylons url()方法将允许您测试单个页面的呈现。如果我有时间整理样本,我会将其添加到此答案中。