On 20 Mar 2014, at 13:32, Maxim Dounin <[email protected]> wrote:

> Hello!
> 
> On Thu, Mar 20, 2014 at 12:03:23PM +0000, Anatoly Mikhailov wrote:
> 
>> 
>> On 19 Mar 2014, at 13:37, Maxim Dounin <[email protected]> wrote:
>> 
>>> Hello!
>>> 
>>> On Wed, Mar 19, 2014 at 10:42:26AM +0000, Anatoly Mikhailov wrote:
>>> 
>>>> 
>>>> On 18 Mar 2014, at 15:10, Maxim Dounin <[email protected]> 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" - нецелесообразно, т.к. при таких настройках весь 
> бекенд может быть занят одним рабочим процессом.

Все понятно, кроме этого момента. Если keepalive - нижняя граница, то второй 
рабочий
процесс откроет больше соединений, чем указано в keepalive... или здесь все по 
другому?

> 
> -- 
> Maxim Dounin
> http://nginx.org/
> 
> _______________________________________________
> nginx-ru mailing list
> [email protected]
> http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-ru

Ответить