У нас возникла очень странная проблема, которую, надеюсь, кто-то видел раньше.
Наш сайт состоит из html-файлов с кодом ASP внутри. У нас есть установка IIS, чтобы без проблем запускать html-файлы через движок asp.
Проблема, с которой мы сталкиваемся, заключается в том, что у некоторых пользователей, когда они просматривают сайт, серверу требуется вечность, чтобы выполнить первоначальный ответ. Примерно до 25-35 секунд. Если мы подключимся к общедоступному IP-адресу через порт 80 с машины, на которой возникла проблема, и на «GET /», ответ займет довольно много времени. Теперь загвоздка заключается в том, что если я подключусь по telnet с той же машины к частному IP-адресу веб-сервера за балансировщиком нагрузки, я могу нормально просматривать сайт.
Балансировщики нагрузки принадлежат Cisco ACE и уже пару месяцев работают нормально.
Что еще более странно, два других веб-кластера не имеют проблемы.
Для тестирования я создал test.html, в котором всего пара строк, и его можно легко вытащить через Telnet или веб-браузер.
Мы безуспешно сократили кластер до одной машины для устранения неполадок. Производственные машины - это Windows 2008 Web Edition. Я даже установил сервер Windows 2003 Standard и переместил сайт на эту машину, не решив проблему.
Не все клиентские машины за одним и тем же VIP имеют проблемы, даже если что-то сбивает с толку. В случае с нашим офисом все сетевые запросы проходят через один общедоступный IP-адрес, но около 30% офисных машин имеют эту проблему, в то время как остальные могут нормально просматривать сайт.
Другие сайты в этом кластере также имеют проблему, но мы ищем только один, чтобы попытаться решить проблему.
Я проверил дисковые очереди на веб-серверах и не обнаружил проблемы.
Оказывается, возникла проблема с нашим балансировщиком нагрузки Cisco, и его необходимо перезагрузить.