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

Проверка времени работы HAProxy

Я использую HAProxy 1.3.15 в кластере, за которым у меня есть пара серверов под управлением IIS7 (Win2k8). Иногда, когда я проверяю «Статус», я вижу, что время «ВВЕРХ» сброшено. Ничего из того, что я вижу на сервере, не указывает на какой-либо сбой или сброс, но я все равно считаю это странным.

Итак, у меня есть 2 вопроса:

  1. Как HAProxy определяет, находится ли сервер в рабочем состоянии для целей отчетности?
  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 .