У нас есть интерфейс HAProxy, балансирующий нагрузку на уровне серверов Squid, который обрабатывает данные с уровня Apache ModSecurity и в конечном итоге обслуживает данные из кластера IIS. Каждый сервер Squid сопоставлен с сервером ModSecurity в соотношении 1: 1 (например, N серверов Squid и N серверов ModSecurity).
Один сервер в кластере постоянно видит большее время проверки работоспособности в HAProxy. Файл check.txt настроен на обход кеша, поэтому он будет извлекать файл из уровня IIS. Журналы доступа Squid (пример ниже) показывают TCP_MISS/000
вместо TCP_MISS/200
как показывают все "хорошие" серверы. Кто-нибудь видел такое поведение раньше?
Кроме того, в "хороших серверах" вы увидите, что DIRECT/10.xxx.xxx.221
согласуется. Однако на "плохом сервере" журналы чередуются между DIRECT/10.xxx.xxx.222
и DIRECT/www.example.com
.
Мысли?
Результаты плохого сервера:
1308159554.223 0 xxx.xxx.xxx.49 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -
1308159558.526 1 xxx.xxx.xxx.86 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.222 -
1308159558.527 0 xxx.xxx.xxx.87 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -
1308159558.621 0 xxx.xxx.xxx.48 TCP_MISS/000 0 HEAD http://www.example.com/check.txt - DIRECT/www.example.com -
Результаты с хороших серверов:
1308159578.289 2 xxx.xxx.xxx.48 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain
1308159578.695 6 xxx.xxx.xxx.86 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain
1308159579.087 4 xxx.xxx.xxx.87 TCP_MISS/200 430 HEAD http://www.example.com/check.txt - DIRECT/10.xxx.xxx.221 text/plain
Я считаю, что нашел решение своей проблемы.
Первая проблема заключается в том, что сервер Squid, на котором возникли проблемы, страдал от проблем с вводом-выводом из-за того, как он взаимодействовал с хранилищем данных SAN.
Вторая проблема, вероятно, симптом первой проблемы, заключалась в том, что два других устаревших сервера HAProxy также выполняли проверки работоспособности на серверах Squid. Однако в среде без узких мест ввода-вывода я не думаю, что это было бы истинной причиной, если только это не было связано с различными версиями HAProxy.