2014-01-30 1 views
2

У меня есть приложение CherryPy, что я начинаю с:Start CherryPy с различными request_queue_size и тайм-аут

cherrypy.tree.mount(None, "/", config=conf) 
cherrypy.quickstart(None, config=conf) 

Я недавно представила страницу приложения, которое занимает значительное время для загрузки (от 10 до 15 секунд, а в некоторых случаях) и начали видеть случайные сбои на производственном сервере при умеренной нагрузке. Я подозреваю, что это может быть связано с тем, что слишком много запросов попадают в очередь, когда несколько пользователей запрашивают эти длительные страницы.

Я бы хотел поэкспериментировать с возможностью большего количества запросов в очередь. Я обнаружил, что встроенный сервер имеет параметр request_queue_size, который может контролировать то, что я хочу. Однако я не могу понять, как изменить этот параметр, используя cherrypy.quickstart.

+0

Вам не нужно звонить tree.mount перед тем QuickStart – jwalker

+0

Спасибо, сделал это изменение, а также. –

ответ

3

Вы можете установить его в conf словаре:

conf = {'server.socket_queue_size': 10, ...} 

Или вы можете программно изменить его:

cherrypy.server.socket_queue_size = 10 

Использование словаря является лучший подход.

В программе CherryPy 3 вы используете конфигурацию (файлы или диктофоны) для установки атрибутов непосредственно на объекты движка, сервер, запрос, ответ и журнал. Таким образом, лучший способ узнать весь спектр доступных в конфигурационном файле - просто импортировать эти объекты и посмотреть, что вам подсказывает (obj).

От CherryPy v3.2.0 documentation » Tutorial and Concepts » Configuration

 Смежные вопросы

  • Нет связанных вопросов^_^