Вы пишете сервис на Python, который обрабатывает большой поток сетевых запросов. В профилировании видно, что приложение часто простаивает в ожидании I/O. Какой подход будет наиболее правильным для масштабирования?
👾 — Использовать threading.Thread для каждого соединения
👍 — Переписать код на asyncio или uvloop, чтобы обрабатывать соединения асинхронно
🥰 — Запускать gc.collect() после каждого запроса
⚡️ — Перейти на multiprocessing, создавая процесс на каждый запрос
Библиотека задач по Python
Post #1545
896
- 👍 14
- ❤ 1