#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 запросов в секунду. Запросы в секунду.