<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">27 января 2013 г., 23:17 пользователь teo <span dir="ltr"><<a href="mailto:nginx-forum@nginx.us" target="_blank">nginx-forum@nginx.us</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Валентин Бартенев Wrote:<br>
-------------------------------------------------------<br>
<div class="im"><br>
</div><div class="im"><br>
</div><div class="im">
> Это другой метод балансировки, который на данный момент не доступен в<br>
> бесплатной<br>
> версии nginx.<br>
<br>
</div>Платная версия ссылается на доку в бесплатной (вроде), может можете привести<br>
ссылку на доку где описаны и такие методы?<br></blockquote><div><br></div><div>мы вот таким пользуемся, если надо привязать пользователя по куке:<br></div><div><br><a href="http://code.google.com/p/nginx-sticky-module/">http://code.google.com/p/nginx-sticky-module/</a><br>
<br></div><div>ну и least_conn, который вы приводили в конфиге - равномерно нагружает (тоже используем, очень хорошо работает).<br><br></div><div>в каждом случае что-то одно из двух используем, не одновременно.<br></div><div>
<br> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div class="im"><br>
> Nginx поддерживает keepalive начиная с версии 1.1.4.<br>
><br>
> <a href="http://nginx.org/r/keepalive/ru" target="_blank">http://nginx.org/r/keepalive/ru</a><br>
><br>
<br>
</div>Вот только название не соответствует назначению.<br>
Я бы назвал это connection_pool.<br>
В моем понимании поддержка keep_alive должна была бы учитывать значения,<br>
возвращаемые в ответе бекендом, чтобы не закрывая конект пихнуть в него еще<br>
один запрос, если его время еще не истекло.<br>
И обычно задается не кол-во соединений, а время, в течении которого клиент<br>
еще может пихать запросы. Т.е. сервер соглашается не закрывать на это время<br>
свое соединение, если клиент сказал что "он умеет так". Тогда на бекенде<br>
ставится самое большое keep_alive, а на посреднике чуть меньшее - с тем,<br>
чтобы уложиться в него с учетом своего оверхеда. Можно конечно и сложнее<br>
организовать - если клиент не умеет, то это не мешает посреднику самому<br>
использовать одно соединение с бекендом для разных клиентов. Или даже если<br>
keep_alive бекенда уже истек - то для новых запросов использовать<br>
новые/другие соединения с бекендом. Т.е. полностью развязать keep_alive<br>
бекенда и свой собственный.<br></blockquote><div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
А держать открытыми некоторое кол-во соединений? Почему только такое кол-во?<br>
Это с учетом того, что бекенд это поддерживает?<br>
Или клиент иногда будет получать "ваш запрос не обработан, потому что nginx<br>
попытался пихнуть его в открытый конект из этого пула, но бекенд уже решил,<br>
что время keep_alive истекло и в ответ закрыл этот конект"?<br>
Дока как-то этот момент опускает.<br>
И не потому ли она советует не увлекаться и в примерах стоит всего 32? Это<br>
притом, что дефолтно в настройках стоит 1024 возможных конекта и один<br>
обработчик? Как вы думаете - какой будет middle water mark при этих<br>
параметрах? 100?<br>
А как будет себя вести сервер, если я сконфигурил 10 обработчиков по 1024<br>
конекта? Т.е. мне надо поставить что-то около 2048 в keepalive?<br>
А в случае простоя, каждые 60 сек (keep_alive бекенда) у меня будут<br>
открываться и закрываться 2048 соединений? Вообщем-то не велика беда. Только<br>
зачем?<br>
А на остальных 8192 соединениях - там не будет поддерживаться keep_alive?<br>
<br>
Вобщем это какой-то стрёмный параметр на мой взгляд. В этом виде.<br>
<br>
Posted at Nginx Forum: <a href="http://forum.nginx.org/read.php?21,235603,235618#msg-235618" target="_blank">http://forum.nginx.org/read.php?21,235603,235618#msg-235618</a><br>
<div class=""><div class="h5"><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" target="_blank">http://mailman.nginx.org/mailman/listinfo/nginx-ru</a></div></div></blockquote></div><br></div></div>