Почему CPU % уменьшается при максимальной нагрузке пользователя во время нагрузочного тестирования?
Добрый день всем,
Я нагрузочно тестирую мой.NET Web API, который размещен на виртуальной машине Windows 2008 Server. Я использую Visual Studio 2012 Load Test. Однако, как только мой нагрузочный тест достигает 780 одновременно работающих пользователей, CPU % начинает уменьшаться, как показано на прилагаемом изображении. Нагрузочный тест достигает максимум 1000 одновременно работающих пользователей, но при этом максимальный процент загрузки ЦП продолжает снижаться. Я не могу объяснить почему. Достигнут ли какой-либо предел IIS? Почему это происходит? Достигнута ли максимальная пользовательская нагрузка для этой функции?
Просто ищу объяснение этому результату и некоторые рекомендации.
Спасибо
1 ответ
В IIS есть отдельные параметры кэша вывода, которые включены по умолчанию, что становится понятным после рассмотрения того, как он обрабатывает динамический контент со статическим откликом и достоинством кэша:
Функция кэширования вывода IIS предназначена для полудинамического содержимого. Это позволяет вам кэшировать статические ответы на динамические запросы и повысить масштабируемость
Настройка кэша
Даже если вы включите кэширование вывода, IIS не сразу кэширует запрос. Он должен быть запрошен несколько раз, прежде чем IIS сочтет запрос "достойным кэша". Достоверность кэша можно настроить через раздел ServerRuntime.
Два свойства определяют ценность кэша:
frequentHitTimePeriod
frequentHitThresholdЗапрос кешируется только в том случае, если в частотечастый HimeTimePeriod поступает больше, чем частые запросы для кешируемого URL.
Это было хорошее объяснение: http://www.iis.net/learn/manage/managing-performance-settings/configure-iis-7-output-caching