Мы пытаемся покрыть лаком нашу ферму IIS 7.5. Указанная ферма обслуживает 3 сайта (SiteA, B и C) - лак наносится только перед A.
Когда мы добавляем лак, мы получаем коэффициент попадания 75-90%, но наша ферма IIS фактически замедляется настолько, что запросы, проходящие через ферму IIS, истекают по таймауту.
Однако, когда мы удаляем лак, весь SiteA работает «достаточно быстро» (время отклика ~ 500 мс), и наши таймауты в основном исчезают. На производительность сайтов B и C это не влияет.
Есть ли какие-то настройки в IIS, которые мы должны изучить? Тайм-аут пула приложений по умолчанию равен 20 мин, но поскольку есть всегда трафик на эти сайты (30-200 запросов / сек для всей фермы), у меня создалось впечатление, что тайм-аут пула приложений не будет иметь значения.
Вот среднее time_taken / мин для SiteA в IIS в обычное время:
Вот как это выглядит, когда мы переходим из IIS, обслуживающего весь трафик (зеленый), а затем добавляем лак (синий):
Как видите, примерно через 40 минут после того, как лак начинает обслуживать большую часть трафика, IIS (желтый) решает значительно замедлиться. Мы делали это в разные моменты дня, и нам требуется от 10 минут до 3 часов, чтобы стать свидетелями нашего первого значительного замедления.
Переработка пулов приложений - это то, что возвращает скорость (синий скачок вверх перед 15:30), но в конечном итоге она снова довольно быстро замедляется. Удаление лака и установка полного трафика на кластер IIS (синяя выпадающая ветвь) возвращает работу к скорости.
У кого-нибудь есть идеи, что еще отслеживать и / или настройки (IIS или лак) для настройки?
Похоже, мы нашли нашу проблему - она не имела ничего общего с Varnish или IIS. В коде ASP.NET была ошибка. Он был настроен для создания подключения к БД, и после X минут бездействия он закрывал соединение. Ошибка заключалась в том, что он никогда не пытался повторно открыть закрытое соединение.
Это имеет смысл, если вы взяли нагрузку выключен системы, она начала разрушаться. Ему буквально нужно было достаточно трафика, чтобы соединения оставались открытыми.