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