ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fastcgi performance at 10K



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 запросах 
это не приведёт к заметному ускорению, и описанные проблемы скорее 
всего не вылечит (а может быть и усугубит).

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

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.