Я использую HAProxy 1.3.15 в кластере, за которым у меня есть пара серверов под управлением IIS7 (Win2k8). Иногда, когда я проверяю «Статус», я вижу, что время «ВВЕРХ» сброшено. Ничего из того, что я вижу на сервере, не указывает на какой-либо сбой или сброс, но я все равно считаю это странным.
Итак, у меня есть 2 вопроса:
«Время безотказной работы» - это время, в течение которого сервер был в рабочем состоянии с тех пор, как haproxy последний раз отключил его от вращения.
Поэтому, если у вас есть несколько проверок подряд, которые превышают определенное время отклика, время безотказной работы сбрасывается.
Эти проверки определяются параметрами проверки при определении server
:
чек
Этот параметр включает проверки работоспособности на сервере. По умолчанию сервер всегда считается доступным. Если установлена «проверка», сервер будет получать периодические проверки работоспособности, чтобы убедиться, что он действительно может обслуживать запросы. Адрес и порт по умолчанию для отправки тестов - это адреса сервера, а источник по умолчанию такой же, как и тот, который определен в бэкэнде. Можно изменить адрес с помощью параметра "addr", порт с помощью параметра "port", адрес источника с помощью адреса "source", а интервал и таймеры с помощью параметров "inter", "rise" и "fall". "параметры.
Таким образом, "несколько проверок" контролируются:
fall <count>
The "fall" parameter states that a server will be considered as dead after <count> consecutive unsuccessful health checks. This value defaults to 3 if unspecified. See also the "check", "inter" and "rise" parameters.
Время отклика или таймеры контролируются inter
:
Параметр «inter» устанавливает интервал между двумя последовательными проверками работоспособности в миллисекундах. Если не указано иное, задержка по умолчанию составляет 2000 мс. Также можно использовать fastinter и downinter для оптимизации задержек между проверками в зависимости от состояния сервера:
Состояние сервера Используемый интервал Повышение 100% (непереходный) "inter" Переходное повышение (снижение) Переходное снижение (повышение) или еще не отмеченное "fastinter", если установлено, "inter" в противном случае Down 100% (непереходное) " downinter "if set," inter "в противном случае. Как и любой другой параметр, основанный на времени, они могут быть введены в любой другой явной единице измерения, например {us, ms, s, m, h, d}. Параметр «inter» также служит таймаутом для проверок работоспособности, отправляемых на серверы, если проверка тайм-аута не установлена. Чтобы уменьшить «резонансные» эффекты, когда несколько серверов размещены на одном и том же оборудовании, проверки работоспособности всех серверов запускаются с небольшим временным сдвигом между ними. Также можно добавить некоторый случайный шум в интервал проверки работоспособности с помощью глобального ключевого слова «spread-tests». Это имеет смысл, например, когда множество бэкэндов используют одни и те же серверы.
Больше на http://code.google.com/p/haproxy-docs/wiki/ServerOptions .