Останавливается работа postgresql

С недавнего времени стала происходить странная вещь:
В определенный момент времени (почему - не смогли понять, подозреваем - при повышении нагрузки на сервис, которая зависит от времени суток, дня недели) postgresql внезапно перестает отвечать на запросы, загрузка процессора (gunicorn-процессов) падает с 40% до 0. При этом стоит сделать какое-нибудь ручное соединение к базе (psql, pg_dump) и работа восстанавливается до следующего падения.
Первым действием была перезагрузка сервера - помогала не всегда, и перезагрузка вместо 5 секунд (ssd) длилась по 5-10 минут... После перезагрузки psycopg (аналогично куча сообщений в логах postgresql) начинал заявлять " 2015-09-22 03:47:01 EDT FATAL: the database system is starting up". И на этом все, ничего не работало.

Данные:
ОС: Ubuntu 14.04 x64
PostgreSQL: psql (PostgreSQL) 9.3.8
Сервер: nginx 1.4.6
Бэкенд: django через psycopg2, gunicorn, supervisor

Все запросы начинают возвращать 502 Bad request.

Заранее спасибо за помощь.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Включите подробное

Включите подробное логгирование и читайте логи.
502-я ошибка - это ошибка веб, а не PostgreSQL.
Тут есть несколько вариантов.
1. Проблема на стыке веб-фреймфорка и PostgreSQL, например исчерпание лимита подключений.
2. Проблема с самим PostgreSQL, хотя вы говорите, что подключения непосредственно к базе вручную работают.
Проверьте активность сервера во время "затыка" - возможно какие-то запросы блокируют таблицы, возможно кончается память и т.д.
Если веб-подключение висит, то сделайте strace на соответвующий процесс python'а и посмотрите, чем он занят

Спасибо, попробую

Спасибо, попробую помониторить, выставил log level info

Первое, что сделать:

Первое, что сделать: поставить PgBouncer

Уже был case, грешил на то

Уже был case, грешил на то что приложение имеет низкую производительность в силу большого числа подключений. Пытался ставить и pgpool2 (работал, но почему-то абсолютно не повлиял на производительность) и pgbouncer (производительность выросла. Но после часа работы вообще все упало, перестал принимать connection-ы. После этого я выключил и то и то =(
Возможно, что-то недонастроил, но на тот момент решили, что есть более срочные задачи =)

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023