Welcome! Log In Create A New Profile

Advanced

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

Maxim Dounin
March 21, 2011 08:34AM
Hello!

On Mon, Mar 21, 2011 at 10:46:28AM +0300, Chubarov Andrey wrote:

> Доброе время суток!
>
> Поясните, пожалуйста, такую вещь.
>
> Есть схема:
>
> 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), т.е. в идеальном
случае, когда всё полученное от бекенда мгновенно отдаётся клиенту
и keepalive соединений нет, потребуется worker_connections 180 (ну
и плюс несколько штук на listen-сокеты). Но см. ниже про очереди.

> очередь в nginx. То есть что происходит с коннектом, если все php-fpm заняты
> другими коннектами? Поидее nginx не сможет подключится к php-fpm и получится
> bad gateway? Тогда как сделать чтобы nginx ставил в очередь клиентов, если
> fcgi бэкэнд за ним занят?

nginx не держит очередь, он просто пытается соединится к бекенду.
Очередь будет на уровне tcp, в listen queue бекенда.
Соответственно если нужна очередь больше - нужно увеличивать
listen queue на бекенде.

Ну и соответственно nginx'у на всё это потребуются структуры
соединений.

Maxim Dounin

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

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

stitrace March 21, 2011 03:48AM

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

Maxim Dounin March 21, 2011 08:34AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 162
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready