Change upstreams weights dynamically according to their response times

Maxim Dounin mdounin at mdounin.ru
Fri Aug 2 10:23:00 UTC 2013


Hello!

On Fri, Aug 02, 2013 at 06:17:00AM -0400, ks2 wrote:

> Добрый день,
> 
> Возможно ли сконфигурировать nginx (или может быть существуют дополнительные
> модули) так, чтобы он выбирал веса апстримов исходя из времени обработки
> запроса апстримом (среднего или персентилей за заданный промежуток времени)?
> 
> 
> Например, если под довольно высокой нагрузкой (несколько тысяч RPS)
> конкретный апстрим некоторое время отвечает быстро, а затем дольше (такие
> периоды могут длиться несколько секунд), то разумно отправлять больше
> запросов на другой, более быстрый апстрим. Потом, когда первому апстриму
> снова полегчает, можно дать больше нагрузки на него.

Для решения этой задачи хорошо подойдёт балансировка по количеству 
соединений, см. http://nginx.org/r/least_conn.

-- 
Maxim Dounin
http://nginx.org/en/donation.html



Подробная информация о списке рассылки nginx-ru