У меня есть проект Django, настроенный с nginx и uwsgi. На сайте не так много процессоров. В основном это простое чтение, но мы ожидаем много хитов. Я использовал apache контрольный показатель для нагрузочного тестирования. Предоставление простого ab -n 200 -c 200 <url>
замедляет работу веб-сайта (при включенном тесте производительности невозможно открыть веб-сайт в любом браузере даже с другого IP-адреса). Я указал число процессов как 16, а количество потоков - как 8. Мой файл uwsgi.ini приведен ниже.
[uwsgi]
master = true
socket = /tmp/uwsgi.sock
chmod-socket = 666
chdir = <directory>
wsgi-file = <wsgi file path>
processes = 16
threads = 8
virtualenv = <virtualenv path>
vacuum = true
enable-threads = true
daemonize= <log path>
stats= /tmp/stats.sock
когда я проверяю uwsgitop, видно, что рабочие 7 и 8 обрабатывают большинство запросов, остальные обрабатывают меньшее количество запросов по сравнению с их. Может ли это быть причиной того, что я не могу загрузить веб-сайт в браузер, пока выполняется тест? Как эффективно использовать процессы uwsgi для обслуживания максимального количества одновременных запросов?
![enter image description here](https://i.stack.imgur.com/69i2Y.jpg)
это результат htop. Во время тестирования производительности не используется много памяти или процессора. Может кто-нибудь помочь мне эффективно настроить сервер?