weight в upstream

Sergey Serov mpa at corg.net
Sat Sep 23 23:07:04 MSD 2006


Hi, all!
Есть проблемы с использованием 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;
}

# nginx -v
nginx version: nginx/0.3.60
# uname -a
Linux tapo.net 2.6.8-2-386 #1 Tue Aug 16 12:46:35 UTC 2005 i686 GNU/Linux











More information about the nginx-ru mailing list