Проблема с ip_hash в nginx

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
skrab83
проходил мимо
Сообщения: 3
Зарегистрирован: 2012-09-25 21:05:17

Проблема с ip_hash в nginx

Непрочитанное сообщение skrab83 » 2012-11-28 20:14:48

На многих форумах видел подобные темы, но решения так и не нашел.

Проблема следующая. Есть 2 сервера с копиями сайта. Есть сервер с nginx, который должен равномерно распределять между ними нагрузку.
в конфиге nginx есть описание:
upstream MyCloud

Код: Выделить всё

{
ip_hash;
server xxx.xxx.xxx.124 max_fails=10  fail_timeout=50s;
server xxx.xxx.xxx.123 max_fails=10  fail_timeout=50s;
}
Задача: распределять нагрузку на оба сервера примерно равномерно, при этом, привязывать каждого пользователя к одному серверу, чтоб не терялась сессия.
Почему-то все нагрузка приходится на второй сервер. если второй сервер выключить, все идет на первый сервер и работает нормально. Если убрать "ip_hash" нагрузка распределяется примерно равномерно. Но мне нужна эта директива и привязка пользователя к одному серверу.
Пробовал тестировать с разных серверов с разными IP. результат всегда один. и нагрузка всегда идет именно на второй сервер, даже если их поменять местами.

Как сделать и равномерное распределение нагрузки и привязку пользователей к серверам одновременно?

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

menmenov
проходил мимо

Re: Проблема с ip_hash в nginx

Непрочитанное сообщение menmenov » 2013-02-20 16:18:45

Маска подсети у серверов с копиями сайта должна быть не 255.255.255.0, а 255.255.0.0 или 255.0.0.0

Ivan20172017
проходил мимо

Проблема с ip_hash в nginx

Непрочитанное сообщение Ivan20172017 » 2019-06-14 11:19:37

Нужно тестировать с компов с разными сетями, так как хеш (для привязки клиента к серверу) вычисляется на основе сети, а не айпи-адреса.
То есть пакеты с клиентов 192.168.1.1 и 192.168.1.2 пойдут на один сервер, а вот если с 192.168.2.1 - уже на другой!