ПРОЕКТЫ 


  АРХИВ 


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[2]: weight в upstream



Title: Re[2]: weight Б upstream

Hello Sergey,


Столкнулся с необходимостью сделать похожее решение.

Задача в том, чтобы все запросу ВСЕГДА шлм на первый Upsetream 

и только в случае его сбоя, по ошибкe next_upstream переключалось на второй,

если второй тоже дал ошибку, то на 3й.


Это возможно, или проблема не решаема ?\

Спасибо !!!



Wednesday, September 27, 2006, 12:27:08 AM, you wrote:


> On Wednesday 27 September 2006 00:50, Igor Sysoev wrote:

>> On Sat, 23 Sep 2006, Sergey Serov wrote:

>> > Есть проблемы с использованием weight в upstream в целях распределения

>> > нагрузки.

>> > Если вес выставлен одинаковый, то нагрузка распределяется равномерно.

>> > Пример:

>> > upstream test_backend {

>> >        server localhost:59040 weight=10000;

>> >        server other_server:59040 weight=10000;

>> > }

>> >

>> > Если же выставить разный вес, то нагрузка распределяется неравномерно по

>> > времени, каждые десять минут меняется сервер и все. Сужу об этом по

>> > графикам загрузки серверов. 10 минут все запросы идут на один сервер,

>> > затем 10 мин. на другой.

>> > Пример:

>> >

>> > upstream test_backend {

>> >        server localhost:59040 weight=10000;

>> >        server other_server:59040 weight=5000;

>> > }

>> >

>> > location / {

>> >            expires epoch;

>> >            fastcgi_pass    test_backend;

>> >            fastcgi_upstream_max_fails 0;

>> >            fastcgi_next_upstream error timeout invalid_header http_500;

>> >            include fastcgi_param.conf;

>> > }

>> >

>> > Но обнаружил, что если цель треть нагрузки отправлять на другой сервер,

>> > то такое помогает:

>> >

>> > upstream test_backend {

>> >        server localhost:59040 weight=10000;

>> >        server localhost:59040 weight=10000;

>> >        server other_server:59040 weight=10000;

>> > }


>> Да, сейчас алгоритм работает так: берётся вес апстрима и пока

>> не уменьшиться до нуля, к следующему не переходим, поэтому большие

>> веса неравномерно распрeamяеделяют нагрузку. Я планирую в скором времени

>> сделать алгоритм, который бы равномерно распределял запросы.



> У меня такой большой вес исключительно для того, что бы можно было прописать

> бэкапные сервера еще с минимально возможным весом. Чтобы срабатывало 

> fastcgi_next_upstream

> Было бы неплохо, напр. задавать вес=0 и при этом эти сервера участвовали

> _только_ в fastcgi_next_upstream. Тогда и текущий алогоритм не мешал бы.






-- 

Best regards,

Aleksej             

ICQ:    293-686-24

GSM:371-293-686-24



 




Copyright © Lexa Software, 1996-2009.