Re: Как работает связка ip hash и weight ?

VovansystemS vovansystems at gmail.com
Sun Mar 3 12:21:24 UTC 2013


>> И так работает всегда. Weight в данном случае ни на что не влияет.
>> Если конфиг верный, возможно периодически "пропадают" сервера (нужно
>> копать в сторону fail_timeout и max_fails и тестировать стабильность
>> связи). Выше Максим всё это расписал подробно.
>
> Да, я читал, что писал Максим, но результаты вполне повторяемы: есть weight
> - скачим по нодам, убираем weight - всё ок. "Пропадающие" сервера пропадали
> бы и с weight. Поэтому хотелось бы всё-таки узнать алгоритм. weight влияет
> только на распределение новых IP, которых ещё нет в хеше ?

nginx version: nginx/1.2.7 - не получилось воспроизвести Ваш глюк. при
включённом ip_hash мне всегда выдаёт один и тот же сервер из upstream
- как с включёными весами, так и с отключенными (я протестировал
множество разных конфигураций, разные веса, например). Проверял через
юникс-сокеты и переменную $upstream_addr.

Вот кусочки конфигов:
    upstream backend {
        ip_hash;
        server unix:/var/run/fpm1.sock weight=2;.
        server unix:/var/run/fpm2.sock weight=5;
    }

location /z/ {
    try_files $fastcgi_script_name =404;
	include fastcgi_params;
	fastcgi_pass backend;
	fastcgi_index index.php;
	fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    add_header X-Upstream-addr $upstream_addr;
}

Возможно, у Вас размер таблицы для хешей маловат и не все туда
помещаются. Кто не влазит - будет "прыгать", судя по всему. Но об этом
должны быть сообщения в логе ошибок.

Наверное, стоит таже показать Ваши конфиги.


Подробная информация о списке рассылки nginx-ru