ПРОЕКТЫ 


  АРХИВ 


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: HTTP проксирование 1.1




On 20 Mar 2014, at 13:32, Maxim Dounin <mdounin@xxxxxxxxxx> wrote:

Hello!

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


On 19 Mar 2014, at 13:37, Maxim Dounin <mdounin@xxxxxxxxxx> 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@xxxxxxxxxx> 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
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.