Re: HTTP проксирование 1.1

Maxim Dounin mdounin at mdounin.ru
Thu Mar 20 13:32:11 UTC 2014


Hello!

On Thu, Mar 20, 2014 at 12:03:23PM +0000, Anatoly Mikhailov wrote:

> 
> On 19 Mar 2014, at 13:37, Maxim Dounin <mdounin at mdounin.ru> wrote:
> 
> > Hello!
> > 
> > On Wed, Mar 19, 2014 at 10:42:26AM +0000, Anatoly Mikhailov wrote:
> > 
> >> 
> >> On 18 Mar 2014, at 15:10, Maxim Dounin <mdounin at mdounin.ru> wrote:

[...]

> >> супер, переписал конфигурацию для проксирования S3 на upstream, получилось очень классно,
> >> вопрос - почему бы не сделать keepalive для бэкэнда по умолчанию?
> > 
> > Использование постоянных соединений полезно в основном в тех 
> > случаях, когда до бекенда - далеко.  В условиях близких бекендов 
> > оно обычно не нужно.  Наоборот, в некоторых ситуациях постоянные 
> > соединения могут повредить - например, если бекенд сильно ограничен по 
> > количеству соединений, которые он может обрабатывать.  В 
> > документации даже специально добавлено замечание про это, т.к. 
> > люди периодически наступают, cм. http://nginx.org/r/keepalive/ru.
> > 
> > Так что я к идее сделать keepalive к бекендам поведением по 
> > умолчанию - отношусь скептически.
> > 
> 
> Я правильно понимаю, keepalive (в контексте upstream) задает количество
> TCP соединений, которые не будут закрываться, даже при отсутствии будущих запросов?

Да.

Следует, однако, учитывать, что это число - на каждый рабочий 
процесс.

> Если да, то какой таймаут, такой же как для клиентских TCP подключений, указанных
> через директиву keepalive_timeout?

Таймаут определяется тем, сколько соединение будет поддерживать 
бекенд.  Сам nginx ничего закрывать не пытается.

> Вопрос второй - если известно, что бэкэнд держит, скажем, 50 соединений, 
> то keepalive 50 поможет нам повторно их использовать в будущем, без повторных syn+ack?

Если бекенд держит только 50 соединений, то ставить в конфиге 
"keepalive 50" - нецелесообразно, т.к. при таких настройках весь 
бекенд может быть занят одним рабочим процессом.

-- 
Maxim Dounin
http://nginx.org/



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