如何在CherryPy中计算Web请求的时间?

时间:2011-02-17 12:03:05

标签: python cherrypy

我想知道CherryPy在给出请求时返回页面需要多长时间。我该怎么办呢?

2 个答案:

答案 0 :(得分:1)

你可以写一个装饰者:

import datetime
import cherrypy

def request_timer(f, *args, **kwargs):
    def _request_time(f, *args, **kwargs):
        begin = datetime.datetime.now()
        response = f(*args, **kwargs)
        end = datetime.datetime.now()
        print cherrypy.log('time took for request %s' % (end - begin))
        return response
    return _request_time(f, *args, **kwargs)

class Root(object):

    @request_timer
    def index(*args, **kwargs):
        pass
    index.exposed = True

日志消息将转到屏幕或error_log文件,具体取决于您的设置。

答案 1 :(得分:1)

这取决于您想要测量的具体内容。如果你想只是时间页面处理程序逻辑,请使用代码Y. H. Wong发布。如果您想测量客户端看到的总时间,请使用Apache ab

之类的内容
$ python myproject.py &
$ ab -n 1000 -c 10 http://localhost:8080/myapp