Узкое место сервера ASGI Django на хостинге Azure при обработке более десятка одновременных запросов

Я новичок в работе с ASGI и у меня есть некоторые проблемы с производительностью моего Django API сервера, поэтому любое понимание было бы очень признательно.

После проведения некоторых нагрузочных тестов с помощью JMeter кажется, что приложение способно обрабатывать до 10 или около того одновременных запросов, как и ожидалось, но если их больше, то потоки приложения блокируются и скорость отклика значительно снижается (это видно в примере #14 и выше в колонке 'Sample Time(ms)' на предоставленном скриншоте). Как будто запросы обрабатываются только на 1-2 потоках после этого момента, в отличие от настроенных 4. Вот мой конфиг startup.sh:

gunicorn --workers 8 --threads 4 --timeout 60 --access-logfile \
'-' --error-logfile '-' --bind=0.0.0.0:8000  -k uvicorn.workers.UvicornWorker \
--chdir=/home/site/wwwroot GSE_Backend.asgi

Я знаю, что отдельные ответы API довольно медленные. Это то, что я хочу решить. Однако, возможно, я что-то делаю не так на уровне ASGI? Спасибо.

Server Load Test

Вернуться на верх