<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 20 Mar 2014, at 13:32, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">Hello!<br><br>On Thu, Mar 20, 2014 at 12:03:23PM +0000, Anatoly Mikhailov wrote:<br><br><blockquote type="cite"><br>On 19 Mar 2014, at 13:37, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br><br><blockquote type="cite">Hello!<br><br>On Wed, Mar 19, 2014 at 10:42:26AM +0000, Anatoly Mikhailov wrote:<br><br><blockquote type="cite"><br>On 18 Mar 2014, at 15:10, Maxim Dounin <<a href="mailto:mdounin@mdounin.ru">mdounin@mdounin.ru</a>> wrote:<br></blockquote></blockquote></blockquote><br>[...]<br><br><blockquote type="cite"><blockquote type="cite"><blockquote type="cite">супер, переписал конфигурацию для проксирования S3 на upstream, получилось очень классно,<br>вопрос - почему бы не сделать keepalive для бэкэнда по умолчанию?<br></blockquote><br>Использование постоянных соединений полезно в основном в тех<span class="Apple-converted-space"> </span><br>случаях, когда до бекенда - далеко.  В условиях близких бекендов<span class="Apple-converted-space"> </span><br>оно обычно не нужно.  Наоборот, в некоторых ситуациях постоянные<span class="Apple-converted-space"> </span><br>соединения могут повредить - например, если бекенд сильно ограничен по<span class="Apple-converted-space"> </span><br>количеству соединений, которые он может обрабатывать.  В<span class="Apple-converted-space"> </span><br>документации даже специально добавлено замечание про это, т.к.<span class="Apple-converted-space"> </span><br>люди периодически наступают, cм. <a href="http://nginx.org/r/keepalive/ru">http://nginx.org/r/keepalive/ru</a>.<br><br>Так что я к идее сделать keepalive к бекендам поведением по<span class="Apple-converted-space"> </span><br>умолчанию - отношусь скептически.<br><br></blockquote><br>Я правильно понимаю, keepalive (в контексте upstream) задает количество<br>TCP соединений, которые не будут закрываться, даже при отсутствии будущих запросов?<br></blockquote><br>Да.<br><br>Следует, однако, учитывать, что это число - на каждый рабочий<span class="Apple-converted-space"> </span><br>процесс.<br><br><blockquote type="cite">Если да, то какой таймаут, такой же как для клиентских TCP подключений, указанных<br>через директиву keepalive_timeout?<br></blockquote><br>Таймаут определяется тем, сколько соединение будет поддерживать<span class="Apple-converted-space"> </span><br>бекенд.  Сам nginx ничего закрывать не пытается.<br><br><blockquote type="cite">Вопрос второй - если известно, что бэкэнд держит, скажем, 50 соединений,<span class="Apple-converted-space"> </span><br>то keepalive 50 поможет нам повторно их использовать в будущем, без повторных syn+ack?<br></blockquote><br>Если бекенд держит только 50 соединений, то ставить в конфиге<span class="Apple-converted-space"> </span><br>"keepalive 50" - нецелесообразно, т.к. при таких настройках весь<span class="Apple-converted-space"> </span><br>бекенд может быть занят одним рабочим процессом.<br></div></blockquote><div><br></div><div>Все понятно, кроме этого момента. Если keepalive - нижняя граница, то второй рабочий</div><div>процесс откроет больше соединений, чем указано в keepalive... или здесь все по другому?</div><br><blockquote type="cite"><div style="font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br>--<span class="Apple-converted-space"> </span><br>Maxim Dounin<br><a href="http://nginx.org/">http://nginx.org/</a><br><br>_______________________________________________<br>nginx-ru mailing list<br><a href="mailto:nginx-ru@nginx.org">nginx-ru@nginx.org</a><br><a href="http://mailman.nginx.org/mailman/listinfo/nginx-ru">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></blockquote></div><br></body></html>