Re: Не работает upstream keepalive в связке с fastcgi-c бэкэндом

Helg nginx-forum at nginx.us
Sun Dec 22 20:23:50 UTC 2013


> Запустите, например 24 инстанса вашего демона на разных портах.
> Всех их пропишите под один upstream. Метод балансировки least_conn,
> keepalive выключите.
Да. Но тогда на каждый запрос будет создаваться новое соединение. Этого и
хочется избежать.


> Тогда ваш сервис сможет обслуживать до 24 одновременных соединений,
> остальные будут ждать.
В моем тестовом примере клиент посылает запросы последовательно, в один
поток. Так что воркер их также последовательно обрабатывает.
 
> А еще лучше запилить хоть какое-то мультиплексирование на вашем
> fastcgi-бакенде.
Что вы имеете ввиду под мультиплексированием?
Очередь и так строится самой библиотекой fastcgi. Каждый вызов 
FCGI_Accept() забирает из очереди следующий необработанный запрос.
Если я хочу обрабатывать два запроса одновременно - я запущу два воркера.
Все равно один воркер (без многопоточности) не может обработать более одного
запроса одновременно. Так что же еще мультиплексировать?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,245757,245768#msg-245768



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