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

Почему мой Ldirectord проверяет несколько раз на сервере чтения каждый интервал?

У меня есть сервер Ldirectord и два реальных сервера. Мой ldirectord раньше проверял страницу запроса на реальном сервере один раз в каждый интервал, но теперь я обнаружил, что он проверяет четыре раза. Я отслеживал логи на обоих реальных серверах, у них такая же проблема.

Вот моя конфигурация ldirectord:

checktimeout = 10
checkinterval = 5
autoreload = да
logfile = "/ var / log / ldirectord.log"
quiescent = нет
виртуальный = 192.168.1.100: 80

   fallback=127.0.0.1:80
   real=192.168.1.10:80 gate
   real=192.168.1.20:80 gate
   service=http
   request="lb.html"
   receive="still alive"
   scheduler=sh
   persistent=60
   protocol=tcp
   checktype=negotiate

Ldirectord будет подключаться к каждому реальному серверу каждые 5 секунд (интервал проверки) и запрашивать 192.168.0.10:80/test.html (реальный / запрос).

Журнал доступа на реальном сервере:

192.168.1.100 - - [13 / июн / 2012: 10: 36: 44 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 44 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 44 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 44 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 49 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 49 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 49 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 49 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 54 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 54 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 54 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"
192.168.1.100 - - [13 / июн / 2012: 10: 36: 54 -0700] "GET /lb.html HTTP / 1.1" 200 12 "-" "libwww-perl / 5.805"

Единственное, что я могу сказать, это то, что я вижу ту же проблему в наших развертываниях.

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

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

При всем вышесказанном, если служба работает так, как ожидалось, несмотря на многочисленные проверки, использующие старую добавку «Если она не сломалась, не чините ее», может быть целесообразным.

Если, однако, вам абсолютно необходимо удалить несколько проверок (которые, если они выполняются для согласованности, я бы настоятельно не советовал делать), тогда потребуется дальнейшее исследование переменной конфигурации, если она существует; и редактирование кода и перекомпиляция, если нет.