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

ZZZ karamba66 at ukr.net
Sun Mar 3 09:28:33 UTC 2013


07.02.2013 11:58, Maxim Dounin wrote:
> Hello!
>
> On Thu, Feb 07, 2013 at 01:47:30AM -0500, gintonic wrote:
>
>> Всем привет.
>> Объясните пожалуйста как работает данная связка. Версия nginx 1.2.6
>> Сейчас в логе есть такие записи:
>> 2013/02/07 07:06:19 [error] 32106#0: *6369192 upstream timed out (110:
>> Connection timed out) while reading response header from upstream, client:
>> 195.72.228.242, server: *.ru, request: "GET /App_Shared/Handlers/Grid.ashx
>> HTTP/1.1", upstream: "http://192.168.1.41:80/App_Shared/Handlers/Grid.ashx",
>> host: "www.site.ru", referrer: "http://www.site.ru/home/home.aspx"
>> 2013/02/07 07:08:19 [error] 32106#0: *6369192 upstream timed out (110:
>> Connection timed out) while reading response header from upstream, client:
>> 195.72.228.242, server: *.ru, request: "GET /App_Shared/Handlers/Grid.ashx
>> HTTP/1.1", upstream: "http://192.168.1.51:80/App_Shared/Handlers/Grid.ashx",
>> host: "www.site.ru", referrer: "http://www.site.ru/home/home.aspx"
>> ---------------
>>   Только, пожалуйста, не надо обращать внимание на таймауты бэкенда и то что
>> это aspx! Вопрос не в этом.
>> Почему  запросы с одного IP попадают в разные бэкенды?
>> Конфиг такой:
>> upstream backend_web_servers {
>> 	ip_hash;
>> 	server 192.168.1.41:80 weight=4 max_fails=3 fail_timeout=30s;
>> 	server 192.168.1.51:80 weight=6 max_fails=3 fail_timeout=30s;
>>        }
> Если бекенд не отвечает на запрос (как в данном случае) - запрос
> отправляется (или не отправляется) на другой бекенд в соответствии
> с proxy_next_upstream.
>
> http://nginx.org/r/proxy_next_upstream/ru
>
> Если бекенд уже мёртв в соответствии с max_fails/fail_timeout -
> запрос сразу отправляется на какой-то другой бекенд.
>
> http://nginx.org/r/ip_hash/ru
>
Тоже наблюдаю картину когда запросы с одного ip попадают на разные 
бекенды. Если убрать weight то всё ок. Нигде не могу найти описание 
алгоритма работы ip_hash совместно в weight.



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