Change upstreams weights dynamically according to their response times
Maxim Dounin
mdounin at mdounin.ru
Sat Aug 3 10:27:16 UTC 2013
Hello!
On Fri, Aug 02, 2013 at 02:08:53PM -0400, ks2 wrote:
> Спасибо, Максим,
>
> А как число соединений коррелирует со скоростью ответа апстрима? Со стороны
> клиентов в моем случае нагрузка вида "сервер-сервер", когда клиенты
> открывают относительно небольшое (в сумме 1000-1500) количество соединений,
> но посылают через каждое много запросов. Я правильно понимаю, что nginx
> открывает отдельное соединение на апстрим для каждого соединения с клиента?
По умолчанию - да, для каждого запроса открывается новое
соединение с бекендом. Можно ещё настроить кеш соединений с
бекендами, см. http://nginx.org/r/keepalive.
> Подходит ли в таком случае балансировка least_conn?
Главное, чтобы суммарное количество параллельно выполняющихся
запросов было больше, чем количество бекендов. Понятно, что если
бы запросы поступали по одному соединению, и соответственно к
началу выполнения следующего запроса предыдущий уже был бы
гарантированно завершён - то least_conn бы не работал (точнее,
работал бы как обычный round-robin). Но 1000-1500 соединений
должно с запасом хватить для нормальной балансировки.
--
Maxim Dounin
http://nginx.org/en/donation.html
Подробная информация о списке рассылки nginx-ru