2013-08-09 2 views
1

У меня есть два довольно простых обработчика веб-дескрипторов на основе Tornado, работающих в одном и том же процессе, каждый из которых функционирует правильно самостоятельно. Однако, когда один получает большой объем данных (> 8 МБ), блоки процесса, а другой не могут обрабатывать сообщения, пока все данные не будут получены. Есть ли способ обойти это и предотвратить торнадо здесь?Python Tornado Websocket Обработчик блокирует при получении данных

ответ

0

Торнадо хорошо работает с большим количеством коротких параллельных запросов. Он не разбивает длинный запрос на более мелкие. Таким образом, блоки процесса.

Почему вы передаете большое количество данных с помощью сокетов? Окончательное решение зависит от ответа на этот вопрос.

Если у вас нет больших запросов слишком часто - просто используйте haproxy перед несколькими экземплярами торнадо.

+0

Я изначально пытался отправить очень маленькие блоки, но я обнаружил, что общая скорость была быстрее, когда я использовал большие блоки. Хотя вы не устраняете проблему, запуск нескольких экземпляров торнадо, как вы сказали, определенно помогает. – baryon5

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