Re[2]: weight в upstream

Aleksej Novikov aleksej at novikov.lv
Wed Apr 22 10:23:10 MSD 2009


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20090422/f1f14c8b/attachment.html>


More information about the nginx-ru mailing list