fastcgi performance at 10K

Denis F. Latypoff denis at gostats.ru
Wed Apr 15 16:26:16 MSD 2009


Hello Maxim,

Wednesday, April 15, 2009, 6:35:09 PM, you wrote:

> Hello!

> On Wed, Apr 15, 2009 at 12:55:53PM +0300, Alexander Dolgarev wrote:

>> В спеке FastCGI указано, что соединения между веб-сервером и
>> fastcgi-сервером могут быть постоянными, при этом nginx в
>> FCGI_BEGIN_REQUEST не указывает флаг FCGI_KEEP_CONN, в результате чего
>> fastcgi-сервер закрывает соединение после ответа.
>> Существует ли возможность в nginx делать соединения с fastcgi-сервером
>> постоянными или это впринципе не реализовано?
>> 
>> Я так понимаю, что при тысячах запросов от клиентов nginx делает
>> тысячи попыток соединиться с fastcgi-сервером (1 запрос = 1 соединение
>> к fastcgi), которому приходится разгребать все эти соединения, а чаще
>> всего просто получаем ECONNREFUSED, не было бы лучше
>> мультиплексировать все запросы по нескольким постоянным соединениям?
>> Подскажите, как это сделать, если это сделать нельзя, то планируется
>> ли реализация такого поведения в будущем?

> У меня есть работающий прототип поддержки keepalive для fastcgi.  
> Если очень хочется потестировать - могу поделиться патчами.

О! Раз пошла такая пьянка, то можно мне патчик? У меня есть самописный
сервер, разговаривающий по протоколу FastCGI (it uses libev). Я бы его
научил keepalive'у.

> Но надо понимать что на сколько-нибудь тяжёлых fastcgi запросах 
> это не приведёт к заметному ускорению, и описанные проблемы скорее 
> всего не вылечит (а может быть и усугубит).

> Keepalive с бекендом нужен в первую очередь в ситуации когда сама 
> работа бекенда сравнима с затратами на установление соединения 
> (очень маленькие ответы), либо когда установление соединения в 
> бекенде стоит очень дорого (плохой, негодный бекенд).

> Maxim Dounin


-- 
Best regards,
 Denis                            mailto:denis at gostats.ru






More information about the nginx-ru mailing list