ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: реализация алгорит ма балансировки



Hello!

On Fri, Apr 24, 2009 at 05:53:21PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Игорь.
> 
> Есть апстрим:
> 
>         upstream  my_backend  {
>                 server  10.0.0.1:80   weight=1        max_fails=20    
> fail_timeout=3s;
>                 server  10.0.0.4:80   weight=5000     max_fails=1000  
> fail_timeout=3s;
>                 server  10.0.0.6:80   weight=16000    max_fails=1000  
> fail_timeout=3s;
>                 server  10.0.0.4:80   backup;
>                 server  10.0.0.6:80   backup;
>         }
> 
> Правильно ли я понимаю, что в таком конфиге запросы пойдут следующим
> образом: 1 запрос на 10.0.0.1:80, потом 5000 запросов на 10.0.0.4:80,
> потом 16000 запросов на 10.0.0.6:80?

Нет.  Веса сейчас работают приблизительно так: nginx ходит по кругу, 
уменьшая каждый раз вес на 1 и пропуска бекенды с нулевым весом.  
Когда у всех бекендов вес становится нулевым - возвращаются 
исходные значения весов и всё повторяется.

Т.е. в отсутствии ошибок от бекендов будет как-то так:

1 на .1
10000 по очереди между .4 и .6
11000 на .6. 

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.