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