Как рассчитать веб-запрос в CherryPy? - PullRequest
0 голосов
/ 17 февраля 2011

Я хотел бы узнать, сколько времени потребуется CherryPy для возврата страницы при получении запроса. Как мне это сделать?

Ответы [ 2 ]

1 голос
/ 17 февраля 2011

Это зависит от того, что именно вы хотите измерить. Если вы хотите использовать только логику обработчика страниц, используйте код Y. H. Wong. Если вы хотите измерить общее время, как его видит клиент, используйте что-то вроде Apache ab:

$ python myproject.py &
$ ab -n 1000 -c 10 http://localhost:8080/myapp
1 голос
/ 17 февраля 2011

Вы можете написать декоратор:

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, в зависимости от ваших настроек.

...