Может ли tornado поддерживать 50-100 клиентов websocket, использующих http-сервер по умолчанию, без привлечения ngnix

#python #server #tornado #production-environment

#python #сервер #tornado #производственная среда

Вопрос:

У меня есть приложение, которое обрабатывает запросы websocket и http для некоторых базовых операций и использует отправку данных через сокеты. Ничто не требует больших вычислительных затрат. Некоторый файловый хвост, случайное чтение / запись файлов — это все, что связано с интенсивной обработкой в настоящее время. Я хочу развернуть это в Linux. У меня нет статических файлов для обработки

Может ли приложение tornado обрабатывать 50-100 клиентов websocket и http без использования ngnix? Я не хочу использовать для этого другой сервер. Сколько клиентов он может обрабатывать самостоятельно?

Везде, где я ищу, я получаю ngnix, и я не хочу его задействовать

Ответ №1:

Да, Tornado может легко обрабатывать 50-100 клиентов websocket и http без использования Ngnix. Вам нужен Nginx в качестве обратного прокси, только если вы запускаете несколько процессов Tornado на отдельных портах.

Если вы запускаете один процесс или несколько процессов на одном порту, вам не нужен Nginx.

Я видел тесты, которые показывают, что с помощью одного процесса Tornado вы можете обслуживать около 5000 подключений в секунду, если размер вашего ответного сообщения составляет около 100 КБ; и более 20 000 запросов в секунду при размере ответа 1 КБ. Но это также зависит от скорости вашего процессора.

Я думаю, можно с уверенностью предположить, что при среднем процессоре и около 1 ГБ оперативной памяти вы можете легко обслуживать около 2000-3000 запросов в секунду. Запросы в секунду.