Назад | Перейти на главную страницу

Squid и балансировка нагрузки?

В настоящее время я запускаю сервер squid для балансировки нагрузки между двумя серверами с использованием циклического перебора.

Но после нескольких дней работы я обнаружил, что сервер 1 становится медленнее. Могу ли я использовать CPU Performance, чтобы определить, на каком сервере должно быть больше пользователей, использующих squid?

Спасибо

Squid недостаточно умен для этого. Как говорится в документации по squid:

Squid одинаково относится ко всем циклическим родителям. В настоящее время невозможно, например, пересылать 25% запросов одному родителю и 75% другому.

IPVS и haproxy иметь несколько доступных алгоритмов, таких как взвешенный циклический алгоритм, наименьшее количество соединений и т. д. Но у них нет встроенного механизма, позволяющего делать это за счет загрузки процессора на реальных серверах.

В одной установке IPVS, которой я управляю, у нас есть задание cron, которое подключается по SSH к каждому серверу и берет нагрузку из / proc / loadavg. На основе нагрузки рассчитывается соответствующий вес. Затем с помощью команды ipvsadm изменяется вес этого реального сервера. Отлично работает и вызывает почти равную нагрузку на каждый сервер.

Имейте в виду, что нагрузка - это не единственное, на что нужно смотреть. Среднее время ответа может быть более точным представлением пользовательского опыта.