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

postgresql Невозможно назначить запрошенный адрес

У меня есть сайт с nginx, php-fpm, postgresql и pgbouncer, и он работает уже больше года. Вчера сервер перестал отвечать, и после перезагрузки он работал 5 или 10 минут, а после этого не отвечал и то же сообщение об ошибке:

2017/04/04 15:32:37 [ошибка] 2532 # 0: * 31341 FastCGI отправлен в stderr: "Сообщение PHP: Предупреждение PHP: pg_connect (): Невозможно подключиться к серверу PostgreSQL: не удалось подключиться к серверу: Невозможно назначить запрошенный адрес. Работает ли сервер на хосте «127.0.0.1» и принимает ли TCP / IP-соединения через порт 6432? в /usr/share/nginx/html/lib/postgresql.class.php в строке 21

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

Я проверил логи php-fpm и обнаружил следующее:

[04-апр-2017 14:48:50] ПРЕДУПРЕЖДЕНИЕ: [pool www] кажется занятым (вам может потребоваться увеличить pm.start_servers или pm.min / max_spare_servers), порождает 8 дочерних элементов, 0 неактивных и 24 всего дети

и

[04-апр-2017 14:48:59] ПРЕДУПРЕЖДЕНИЕ: сервер [pool www] достиг настройки pm.max_children (50), подумайте над ее повышением

и в журналах postgresql я нашел это:

ПОДСКАЗКА: рассмотрите возможность увеличения параметра конфигурации «max_wal_size».

Я изменил следующие параметры

В php-fpm:

pm.max_childeren from 50 to 100
pm.start_servers from 5 to 10
pm-min_spare_servers from 5 to 10
pm-max_spare_servers from 35 to 100

В Postgresql:

mac_wal_size from 1GB to 2GB

И все равно не повезло !!! что я должен делать?

Здесь у вас мало проблем. Все они вызваны множеством связей.

Вам нужно добавить какой-то мониторинг и проверять, сколько запросов вы получаете. Когда у вас будет несколько цифр, вы сможете правильно настроить все параметры, связанные с подключениями:

  • php-fpm
  • pgbouncer
  • postgresql
  • Linux \ OS

Я нашел хороший ответ для pgbouncer: https://dba.stackexchange.com/questions/59650/pgbouncer-works-great-but-occasionally-becomes-unavailable

Я считаю, что это вторая (мониторинг и отсутствие цифр - первое) недостающая часть решения вашей проблемы.

Короче говоря, теперь вы получаете гораздо больше трафика, чем раньше, и ранее работавшей конфигурации недостаточно для его обработки.