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