在pylons应用程序中测量页面请求时间?

时间:2010-09-11 19:12:59

标签: python performance pylons

如何测试呈现pylons页面请求所需的时间?

我在哪里挂钩? (以及我用什么类/方法输出这些信息)

我对pylons和python都不熟悉。

1 个答案:

答案 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()方法将允许您测试单个页面的呈现。如果我有时间整理样本,我会将其添加到此答案中。