Когда вы запускаете сервер aiohttp
, он будет обслуживать все входящие запросы, используя все доступные жесткие диски / оперативную память / сетевые ресурсы, а ядро ЦП работает на ресурсах.
Если на вашем компьютере установлено несколько ядер ЦП, лучше всего запустить aiohttp
за nginx
и настроить его на использование всех ядер (подробнее здесь ). Это позволит вам использовать все доступные ресурсы компьютера без необходимости настраивать что-то другое вручную. Плюс nginx
будет обслуживать статические файлы намного лучше, чем чистые aiohttp
.
Я думаю, что выше, будет лучше, если у вас не очень загруженное приложение.
В противном случае вы все равно можете столкнуться с ограничением ресурсов текущего компьютера. Затем вы должны определить, где находится узкое место (это жесткий диск, ОЗУ, ЦП, емкость сети?) И решить, какое решение выбрать:
- Увеличение текущих ресурсов машины («Вертикальное масштабирование»)
- Запуск приложения на нескольких машинах («Горизонтальное масштабирование»)
- Оптимизация кода вашего приложения («профилирование» + «оптимизация»)
Каждый путь выше - это отдельная тема.