nginx upstream: толи я не верно понимаю weight, толи nginx

Алексей Бобок alexey.bobok at gmail.com
Fri Apr 17 22:07:49 MSD 2009


FreeBSD 7.1-RELEASE-p4, nginx version: nginx/0.7.30
тестовая платформа из 2 идентичных машин на VMWare. Задача
FreeBSD+CARP Failover для внедрения на продакшне, где работает сайт на
PHP. Но решили, что нефиг простаивать втупую резервной машине и
оттестировать также и следующую задачу: все запросы приходят на carp
master server, 70% обрабатываются локально, 30% отправляются на carp
backup server. Из етого получился следующий упрощенный конфиг на
master server'e:

upstream  uhfecluster  {
    server   127.0.0.1:80 weight=7;
    server   backup.test.local weight=3 max_fails=3  fail_timeout=30s;
#хостнейм резолвится в физичеcкий IP backup server'a
}

server {
    listen 192.168.231.9:80; #IP адрес на carp интерфейсе
    location / {
        proxy_pass  http://uhfecluster;
    }
}

server {
        listen 127.0.0.1:80;
        server_name test.local;
        access_log /var/log/nginx_virt-access.log  combined;

       location / {
                root /1/vhost;
                index index.php index.html index.htm;
        }

 #forward .php files to php-fpm FastCGI server
        location ~* \.php$ {
                fastcgi_pass        unix:/tmp/php-fpm.sock;
                fastcgi_index       index.php;
                fastcgi_param       SCRIPT_FILENAME
/1/vhost$fastcgi_script_name;
                include             fastcgi_params;
        }
      }

В итоге при обновлении страницы получаю
3 ответа с backup server'a, 1 запрос с master server'a

В такой конфигурации:
upstream  uhfecluster  {
    server   127.0.0.1:80 weight=3;
    server   backup.test.local max_fails=3  fail_timeout=30s;

}
получаю поочередные ответы с обоих серверов.

В чем проблема?
-- 

--
Best regards, Alexey Bobok


More information about the nginx-ru mailing list