powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / php-fpm + pgsql
4 сообщений из 4, страница 1 из 1
php-fpm + pgsql
    #38701273
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На каждый процесс php-fpm запущеный из под одного пользователя создается отдельное соеденение с БД. Не пойму ведь при постоянных соеденениях должно быть 1 подключение к бд.
...
Рейтинг: 0 / 0
php-fpm + pgsql
    #38701281
Фотография Maxim Boguk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ss25На каждый процесс php-fpm запущеный из под одного пользователя создается отдельное соеденение с БД. Не пойму ведь при постоянных соеденениях должно быть 1 подключение к бд.

каким образом по вашему N процессов Php будут выполнять паралелльно запросы имея 1 коннект к базе (и 1 процесс базы)?
а вообще для решения этой проблемы почитайте про pgbouncer

--Maxim Boguk
www.postgresql-consulting.ru
...
Рейтинг: 0 / 0
php-fpm + pgsql
    #38701282
Фотография ss25
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да я думал что если конект идет под идентичными параметарми подключения то каждый php-fpm будет использовать всего 1 процесс БД
...
Рейтинг: 0 / 0
php-fpm + pgsql
    #38701459
alex564657498765453
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ss25да я думал что если конект идет под идентичными параметарми подключения то каждый php-fpm будет использовать всего 1 процесс БД

нет.
php-fpm
стартуеться одним процесом менеджером, который запускае(по умолчанию динамическая логика) дочерние процесы воркеры - в каждое время один воркер занят только одним запросом. запускает от мин, до макс. плюс есть настройки когда закрывать воркеры. не суть важно.
и так, ограничение на число одновременых подключений касаеться всего пула вцелом.

воркер, не кеширует подключения к мусклу, это делает менеджер.
тоесть если воркер завершил обработку запроса, с его точки зрения "закрываеться" подключение к базе. это менеджер его в пул помещает.
когда воркер получает новый запрос на обработку, и надо база, он требует подключение, и менеджер либо выдаст из пула готовое, либо создаст новое.

незнаю нюансы, но тестировал много раз нагрузкой свою систему и могу сказать точно.

если одновременное число обрабатываемых запросов допустим 20. то гарантия что одновременых подключений к базе будет больше 20.

у меня при тестах в среднем было 20 запросов в секунду что приводило к 30-40 одновременым процесам, число подключений к базе было около 60.

не могу сказать точно
-если максимальное число воркеров 100 допустим, то может ли получиться что число подключений окажеться больше 100 - думаю да.

похоже менеджер заново выдаёт подключение с задержкой, а не тутже . поэтому и получаеться что подключений больше чем работающих одновременно процесов.

ЗЫ
лично я пока что остановился на таком решении.
в базе стоит лимит на число подключений. 800, у меня 4 ноды кодключающиеся к базе, на нодах стоит лимит на число воркеров на уровне 180. плюс в код добавлен перехват ошибки достижения лимита подключений - попытка переподключения с задержкой пол секунды.

ЗЫЗЫ
почему именно так.
ибо по неведомой причине, менеджер иногда глючит вплане пула подключений к базе, и начинает плодить новые, так что на базе достигаеться лимит, идёт куча отказов, и потом база ваще падает. по даной делеме на форуме сдесь же - советовали отказаться от постояных подключений, ибо выгода слишком мала чтоб париться...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / php-fpm + pgsql
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]