Re: Re[2]: weight в upstream

Алексей Бобок alexey.bobok at gmail.com
Wed Apr 22 10:32:03 MSD 2009


добавьте после описания апстрим-севрера слово backup и он будет
работать, как запасной
http://sysoev.ru/nginx/docs/http/ngx_http_upstream.html#server

22 апреля 2009 г. 9:23 пользователь Aleksej Novikov
<aleksej at novikov.lv> написал:
> 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



-- 

--
Best regards, Alexey Bobok


More information about the nginx-ru mailing list