По какой-то причине postgres порождает> 700 процессов postmaster для обработки запросов к базе данных и файл журнала postgres, если он заполнен «неожиданным EOF при подключении клиента», «неполным стартовым пакетом» и «извините, уже слишком много клиентов». netstat сообщает мне, что все открытые соединения являются локальными, и я почти уверен, что они исходят от postgres внутри. Этот конкретный экземпляр работал нормально последние 230 дней или около того, и ничего не изменилось в конфигурации. Есть какие-нибудь мысли о том, где я должен искать решение этой проблемы?
Я впервые диагностирую подобную проблему, поэтому, если есть какие-то шаги, которые я могу предпринять, чтобы сузить причину, это тоже было бы полезно.
ОБНОВИТЬ: Оказывается, был экземпляр tomcat, запущенный на удаленном компьютере, который пытался подключиться к postgres через туннель ssh, что привело к полному аду.
Postgres порождает почтмейстера для каждого соединения. Так оно и должно работать. Если вы запускаете тонну процессов postmaster, у вас есть что-то, инициирующее массу соединений, и если это не то, чего вы ожидаете, вероятно, у вас сломанное / плохо работающее приложение, создающее беспорядок (общий пример: тот, который продолжает повторно инициализировать соединение с БД, но никогда не закрывает его. Вы будете пропускать сеанс при каждой инициализации соединения).
Если это недавно, начните с "Что изменилось?" Если нет, начните просматривать все свои приложения, которые взаимодействуют с Postgres (примерно в порядке использования), и посмотрите, сможете ли вы найти плохое яблоко.
Re: сообщения журнала -
unexpected EOF on client connection
incomplete startup packet
sorry, too many clients already
ax_connections
в postgresql.conf
.