|
|
|
php-fpm + pgsql
|
|||
|---|---|---|---|
|
#18+
На каждый процесс php-fpm запущеный из под одного пользователя создается отдельное соеденение с БД. Не пойму ведь при постоянных соеденениях должно быть 1 подключение к бд. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2014, 16:52:10 |
|
||
|
php-fpm + pgsql
|
|||
|---|---|---|---|
|
#18+
ss25На каждый процесс php-fpm запущеный из под одного пользователя создается отдельное соеденение с БД. Не пойму ведь при постоянных соеденениях должно быть 1 подключение к бд. каким образом по вашему N процессов Php будут выполнять паралелльно запросы имея 1 коннект к базе (и 1 процесс базы)? а вообще для решения этой проблемы почитайте про pgbouncer --Maxim Boguk www.postgresql-consulting.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2014, 17:16:14 |
|
||
|
php-fpm + pgsql
|
|||
|---|---|---|---|
|
#18+
да я думал что если конект идет под идентичными параметарми подключения то каждый php-fpm будет использовать всего 1 процесс БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2014, 17:20:56 |
|
||
|
php-fpm + pgsql
|
|||
|---|---|---|---|
|
#18+
ss25да я думал что если конект идет под идентичными параметарми подключения то каждый php-fpm будет использовать всего 1 процесс БД нет. php-fpm стартуеться одним процесом менеджером, который запускае(по умолчанию динамическая логика) дочерние процесы воркеры - в каждое время один воркер занят только одним запросом. запускает от мин, до макс. плюс есть настройки когда закрывать воркеры. не суть важно. и так, ограничение на число одновременых подключений касаеться всего пула вцелом. воркер, не кеширует подключения к мусклу, это делает менеджер. тоесть если воркер завершил обработку запроса, с его точки зрения "закрываеться" подключение к базе. это менеджер его в пул помещает. когда воркер получает новый запрос на обработку, и надо база, он требует подключение, и менеджер либо выдаст из пула готовое, либо создаст новое. незнаю нюансы, но тестировал много раз нагрузкой свою систему и могу сказать точно. если одновременное число обрабатываемых запросов допустим 20. то гарантия что одновременых подключений к базе будет больше 20. у меня при тестах в среднем было 20 запросов в секунду что приводило к 30-40 одновременым процесам, число подключений к базе было около 60. не могу сказать точно -если максимальное число воркеров 100 допустим, то может ли получиться что число подключений окажеться больше 100 - думаю да. похоже менеджер заново выдаёт подключение с задержкой, а не тутже . поэтому и получаеться что подключений больше чем работающих одновременно процесов. ЗЫ лично я пока что остановился на таком решении. в базе стоит лимит на число подключений. 800, у меня 4 ноды кодключающиеся к базе, на нодах стоит лимит на число воркеров на уровне 180. плюс в код добавлен перехват ошибки достижения лимита подключений - попытка переподключения с задержкой пол секунды. ЗЫЗЫ почему именно так. ибо по неведомой причине, менеджер иногда глючит вплане пула подключений к базе, и начинает плодить новые, так что на базе достигаеться лимит, идёт куча отказов, и потом база ваще падает. по даной делеме на форуме сдесь же - советовали отказаться от постояных подключений, ибо выгода слишком мала чтоб париться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2014, 01:46:17 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=38701459&tid=1998572]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
782ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 201ms |
| total: | 1086ms |

| 0 / 0 |
