Добавление лака заставляет IIS замедляться с меньшим количеством трафика?

Мы пытаемся поместить лак перед нашей фермой IIS 7.5. Упомянутая ферма обрабатывает 3 веб-сайта (SiteA, B и C) - лак идет перед единственным.

Когда мы добавляем лак, мы получаем 75-90%-й процент совпадений, но наша ферма IIS на самом деле замедляется так, что запросы, которые передают до IIS, сдают время в аренду.

Однако, когда мы удаляем лак, все выполнения SiteA 'достаточно быстро' (~500ms время отклика) и наши тайм-ауты главным образом исчезают. Сайт B и работа C не затронут.

Есть ли некоторые настройки в IIS, который мы должны исследовать? Тайм-аут пула приложений установлен на значение по умолчанию 20 минут, но так как всегда существует трафик на эти сайты (30-200 req/sec ко всей ферме), у меня создалось впечатление, тайм-аут пула приложений не будет фактором.

Вот среднее число time_taken/min для SiteA в IIS в течение нормального времени: time_taken (ms) - average per minute

Вот то, на что похоже, когда мы идем от IIS, служащего всему (зеленому) трафику, и затем включаем (синий) лак: hits/min vs time_taken/min

Как Вы видите, ~40min после того, как лак начинает служить большей части трафика, (желтый) IIS решает замедлиться значительно. Мы сделали это в различных точках в день, и это берет где угодно от 10 минут до 3 часов для нас, чтобы засвидетельствовать, что наше первое крупное замедляется.

Переработка пулов приложений - то, что возвращает скорость (синий переход незадолго до 15:30), но в конечном счете это замедляется снова скорее быстро. Удаление лака и помещение полного трафика против кластера IIS (синее отбрасывание прочь) возвращают вещи ускориться.

У кого-либо есть какие-либо идеи того, что еще контролировать и/или настройки (IIS или лак) для корректировки?

4
задан 28 April 2015 в 03:40
1 ответ

Похоже, мы нашли нашу проблему - это не имело ничего общего с Varnish или IIS. В коде ASP.NET была ошибка. Он был настроен для создания подключения к БД, и после X минут бездействия он закрывал соединение. Ошибка заключалась в том, что он никогда не пытался повторно открыть закрытое соединение.

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

1
ответ дан 3 December 2019 в 04:10

Теги

Похожие вопросы