Количество подключений на бэкэнде.

Chubarov Andrey stitrace на gmail.com
Пн Мар 21 10:46:28 MSK 2011


Доброе время суток!

Поясните, пожалуйста, такую вещь.

Есть схема:

frontend(nginx)<->backend(nginx)<->app(php-fpm)<->pgbouncer<->postgresql

frontend - отдаёт статику
backend - fast_cgi к php-fpm
pgbouncer - это коннекшн пуллер к postgresql

php скрипты отрабатываемые на php-fpm цепляются к базе данных через коннекшн
пуллер.

Теперь собственно вопрос:

Допустим на php-fpm сделано pm.max_children = 90, на pgbouncer количество
max_connections = 90.

Правильно ли я понимаю, что на backend nginx достаточно
будет worker_connections = 90 и 1 worker? Я не могу разобраться как работают
очередь в nginx. То есть что происходит с коннектом, если все php-fpm заняты
другими коннектами? Поидее nginx не сможет подключится к php-fpm и получится
bad gateway? Тогда как сделать чтобы nginx ставил в очередь клиентов, если
fcgi бэкэнд за ним занят?
----------- следущая часть -----------
Вложение в формате HTML было извлечено&hellip;
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20110321/10836054/attachment.html>


Подробная информация о списке рассылки nginx-ru