Change upstreams weights dynamically according to their response times
Валентин Бартенев
vbart at nginx.com
Sat Aug 3 10:37:24 UTC 2013
On Friday 02 August 2013 22:08:53 ks2 wrote:
> Спасибо, Максим,
>
> А как число соединений коррелирует со скоростью ответа апстрима? Со стороны
> клиентов в моем случае нагрузка вида "сервер-сервер", когда клиенты
> открывают относительно небольшое (в сумме 1000-1500) количество соединений,
> но посылают через каждое много запросов. Я правильно понимаю, что nginx
> открывает отдельное соединение на апстрим для каждого соединения с клиента?
> Подходит ли в таком случае балансировка least_conn?
>
[...]
Нет, nginx не открывает соединение на апстрим для каждого соединения с клиента.
Соединения открываются только по мере необходимости, чтобы отправить запрос,
и количество соединений коррелирует с количеством запросов, находящихся в
обработке у апстрима.
Быстрый бэкенд будет быстрее обрабатывать запросы, а соответственно быстрее
закрывать соединения и становиться более предпочтительным для балансировщика.
keepalive [1] также в эту картину вписывается, с той лишь разницей, что
соединения после обработки запроса не закрываются, а попадают в пул свободных
соединений.
[1] http://nginx.org/r/keepalive/ru
--
Валентин Бартенев
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru