Ошибка PGbouncer: accept(): слишком много открытых файлов
Я использую сервер с 20 процессорами и 96 ГБ оперативной памяти. Я настроил Postgresql и Pgbouncer для обработки 1000 соединений одновременно.
Однако, когда соединения увеличиваются (даже если они значительно ниже установленного мною предела 1000), я начинаю получать неудачные соединения. Я проверил журнал pgbouncer и заметил следующее
ERROR accept() failed: Too many open files
Какой лимит мне нужно увеличить, чтобы решить эту проблему? Я использую Debian 8
2 ответа
Увеличьте в операционной системе ограничение максимального количества открытых файлов для пользователя, под которым работает pgBouncer.
Я добавил следующие параметры в службу pgBouncer. После этого pgbanch снова запустился. Итак, проблемы были решены. Предельный размер файла зависит от размера вашего файла Linux. Вы проверили свою систему с помощью этих кодов.
- кот /proc/sys/fs/файл-макс
- улимит -n
- ulimit -Sn
- ulimit -Hn
vim /lib/systemd/system/pgbouncer.service
[Service]
LimitNOFILE=64000
LimitNOFILESoft=64000