Поиск причины «Не удалось загрузить ресурс: сервер ответил со статусом 500» - PullRequest
0 голосов
/ 12 марта 2020

Я столкнулся с проблемой на моем живом веб-сайте. Я использую стек Django, Postgresql, Celery, Gunicorn и Nginx на сервере Ubuntu. И на сервере есть 2vCpus, 4 ГБ оперативной памяти, 25 ГБ SSD и передача данных 4 ТБ, Ubuntu 18. Ситуация в деталях - у меня есть веб-сайт, где пользователь может загрузить изображение, и после этого сервер запускает задачу в фоновом режиме, используя сельдерей, и возвращает задачу идентификатор клиента. Со стороны клиента запускается запрос ajax, который отправляет запрос на сервер каждые 5 се c для проверки выполнения задачи. Когда мы пытались провести стресс-тестирование сайта, используя около 40 клиентов, загружающих около 10 изображений, каждое из которых 400 изображений одновременно (загрузка изображения выполняется с помощью функции ajax), тогда некоторые результаты были успешными, но через некоторое время оставшиеся не удавались. , Ошибка, отображаемая на консоли:

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

Затем я проверил журнал своего сервера и результат "journalctl -u gunicorn" того времени:

Mar 11 09:42:42 ubuntu-** gunicorn[17308]:  - - [11/Mar/2020:09:42:42 +0000] "POST /upload/ HTTP/1.0" 500 27 "https:***" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) "

Удивительно, но я обнаружил, что в течение определенного времени, например, около 30 сек c из 500 начатых ответов, около 95% ответов составляли 500 статусов. Я не могу найти точную причину для этого. И нет никакой дополнительной информации об ошибке 500. Я не нашел ошибки в nginx файле журнала ошибок в то время. Журнал доступа nginx был похож на журнал боевых действий. но никакой дополнительной информации там не было.

*** - - [11/Mar/2020:09:42:42 +0000] rt=6.001 uct="0.000" uht="0.636" urt="0.644""POST /upload/ HTTP/1.1" 500 27 "https:***" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)"

Обычно сайт работает отлично. Эта проблема возникает только при одновременной посылке запроса. Я не знаю, как выяснить проблему здесь. Пожалуйста, если кто-нибудь сможет мне помочь, это будет очень полезно для меня. Заранее спасибо.

...