измерение времени запроса страницы в приложении пилонов? - PullRequest
1 голос
/ 11 сентября 2010

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

Куда мне это подключить? (и какой класс / метод мне использовать для вывода этой информации)

Я новичок и в пилонах, и в питоне.

1 Ответ

3 голосов
/ 13 сентября 2010

Есть несколько способов сделать это, и это зависит от того, хотите ли вы использовать его для профилирования / тестирования или для производства.

Если вы хотите профилировать, то самая простая вещь для настройки - repoze.profile .Это промежуточное ПО WSGI, которое профилирует все, что происходит после него, в стеке WSGI.Чтобы использовать, поместите его прямо перед вашим приложением в ваш middleware.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 ()позволит вам проверить рендеринг одной страницы.Если у меня будет время собрать образец, я добавлю его к этому ответу.

...