Я ищу среду для неблокирующего веб-сервера на основе Python, предназначенную для обработки большого количества одновременных подключений и реагирования при большой нагрузке (C10K). Мне нужно это как бэкэнд для моего webapp. В типичном сценарии клиент webapp будет делать несколько вызовов на сервере с помощью WebSockets.Параметры веб-сервера Python с неблокирующей архитектурой
До сих пор я нашел 2 варианта на земле python.
Вне питона есть, конечно, Node.js, но я бы предпочел питона, если это возможно кодирование окружающей среды.
Какой из вышеуказанных двух (или других, которых я не знаю) вы бы порекомендовали? Что такое плюсы-минусы? Или мне нужно перевернуть мою собственную фреймворк, написав неблокирующий интерфейс для web.py?
Я обеспокоен тем, что оба вышеупомянутых проекта, похоже, имеют хорошую поддержку сообщества, они не так популярны, как Django, CherryPy, Pylon и т. Д. Поэтому я боюсь сделать выбор, который может в конечном итоге оказать плохую поддержку в будущем ,
Хотя я приветствую усилия Николаса в составлении этого обзора, его результаты работы чрезвычайно предвзяты к конкретной, крайне нереалистичной рабочей нагрузке. Конечно, я вдвойне недоволен тем, что эта конкретная рабочая нагрузка особенно сильно связана с Twisted, но не так много, что я мог бы видеть, что мы могли бы сделать, чтобы улучшить нашу производительность в этом тесте, но не танковать производительность других, более реалистичных случаев (например, например, ответы, которые не подходят ни одному вызову write(), или даже одному сегменту TCP). – Glyph
(Я должен также отметить, что он фактически не тестирует любые асинхронные * веб-запросы *, каждый сервер просто отвечает, записывая статическую строку, поэтому это показатель чистой задержки ввода-вывода, а не обработка запросов HTTP в любом из эти рамки.) – Glyph
@Glyph: У вас есть данные о производительности, чтобы поместить Twisted в более благоприятный свет? Я использую Twisted в проекте и хотел бы видеть обе стороны истории. – Aaron