Назад | Перейти на главную страницу

Gunicorn периодически возвращает HTTP502

Я запускаю Gunicorn 19.5.0 с 3 рабочими и 30-секундным таймаутом на одном ядре Xeon. Gunicorn находится между nginx и postgres. Ngix находится на том же сервере, что и gunicorn (веб-сервер), postgres находится на отдельном сервере базы данных, доступном только на 10.x.x.x.

Я получаю прерывистые HTTP502 (плохой шлюз). Сайт будет отключен на несколько минут, прежде чем снова появится.

Я посмотрел свои журналы стрельбы, каждые 5 минут там такие строчки:

[2016-07-04 11:49:24 +0200] [1502] [CRITICAL] WORKER TIMEOUT (pid:2599)
[2016-07-04 11:49:25 +0200] [2613] [INFO] Booting worker with pid: 2613

Поиск этой ошибки заставляет меня думать, что это вызвано тайм-аутом сервера приложений. Но мой тайм-аут равен 30 секундам, то есть вааай дольше, чем я хочу, чтобы мои страницы загружались!

Я единственный, кто использует этот сервер, хотя на данный момент - он не облагается налогом из-за большого количества HTTP-запросов. Таким образом, я не могу придумать причину, по которой это будет тайм-аут - оборудования кажется достаточно для этой цели (и у меня есть свободная оперативная память, я проверил). Сервер находится на виртуальной машине - следует ли мне связаться с провайдером VPS, чтобы попросить объяснений?

Посмотрел на мою службу мониторинга времени безотказной работы, и время отклика неуклонно росло все утро. Примерно через 5 минут после публикации вопроса я потерял сервер базы данных, и провайдер VPS также не может восстановить его. Так что я предполагаю, что все эти проблемы произошли по их вине, и я жду от них решения (и объяснения).