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