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

Ruslan Ermilov ru at nginx.com
Thu Feb 7 08:40:38 UTC 2013


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 попадают в разные бэкенды?

Видимо потому что попытка попасть на бэкенд по значению хэша
была неудачной, и не отключено переключение на следующий
сервер?

http://nginx.org/r/proxy_next_upstream/ru

Если переключение нежелательно, есть вариант его отключить
директивой "proxy_next_upstream off".

Встречный вопрос: а при чём тут веса?

> Конфиг такой:
> 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;
>       }
> 
> Posted at Nginx Forum: http://forum.nginx.org/read.php?21,235980,235980#msg-235980



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