На самом деле вы не можете напрямую определить загрузку ЦП для отдельных запросов с помощью счетчиков. Запросы ASP.NET обрабатываются рабочим процессом, нагрузка которого распределяется по всем доступным ядрам ЦП. Вы можете измерить загрузку ЦП для каждого ядра или для всего процесса, но не для запроса.
Возможно, вы сможете косвенно изолировать запросы, нагруженные ЦП, с помощью расширенного ведения журнала IIS7. Вы можете скачать его с здесь . Прочитайте этот блог , чтобы узнать, как включить настраиваемое ведение журнала. Вам необходимо добавить поле «Загрузка ЦП» в определение журнала. Новый файл журнала IIS будет показывать загрузку процессора в каждой строке запроса. Это, однако, не реальное использование ЦП для обработки запросов, а просто использование ЦП во время обработки запросов. Вы по-прежнему можете использовать эту информацию для определения подозрительных запросов, которые могут быть потенциально загружены ЦП.
Далее проведите индивидуальное тестирование этих запросов с помощью нагрузочного тестирования, чтобы выяснить, не создает ли какой-либо из них чрезмерное использование ЦП при разумной нагрузке. Инструменты нагрузочного тестирования Майкрософт включены в VSTS 2010 Ultimate Edition или VSTS 2008 Test Edition или Team Suite. В качестве альтернативы вы можете использовать WCAT - бесплатный генератор загрузки HTTP командной строки Microsoft. Кроме того, мы разработали бесплатное расширение Fiddler для нагрузочного тестирования под названием StresStimulus , которое воспроизводит сеансы Fiddler с различными схемами загрузки и метриками производительности графиков.
Будьте внимательны при проведении нагрузочных испытаний на производстве. Вы можете выполнить каждый запрос под желаемой нагрузкой всего за несколько секунд. Если вы не сможете найти неоптимизированные страницы, используйте этот фактор для оправдания обновления оборудования.