В perfmon в Windows Server 2003 есть объекты-счетчики для получения статистики по процессному времени и рабочему набору памяти для каждого процесса. Единственная проблема заключается в том, что в среде с несколькими пулами приложений невозможно надежно определить правильный рабочий процесс. В perfmon все они называются "w3wp", а если их несколько, то это w3wp, w3wp # 1, w3wp # 2 и так далее. Даже эти имена ненадежны - число зависит от того, какое из них было запущено первым, и, очевидно, изменяется, когда пул приложений перезагружается, потому что процесс уничтожается и перезапускается.
Я не нашел никаких счетчиков, специфичных для ASP.NET, и по какой-то причине мой объект IIS не разделяет экземпляры - есть только один «глобальный» экземпляр.
В конечном итоге мне нужны счетчики «% загруженности процессора» и «рабочий набор» для определенного пула приложений IIS. Какие-либо предложения?


Мы всегда собирали статистику по всем процессам w3wp и фиксировали PID. Это один из счетчиков в группе процессов.
На этом сайте в папке system32 сервера 2003 есть сценарий IISApp.vbs, который перечислит все процессы и их PID. Вам нужно будет запустить это, чтобы захватить PID.
Я уверен, что должен быть способ получше, но он работал, когда нам нужно было проводить специальный мониторинг.
Экземпляр w3wp может не появиться, если рабочий процесс долгое время простаивает. Интерфейс пользовательского интерфейса необходимо использовать в течение короткого времени, чтобы рабочий процесс (w3wp) мог появиться в экземплярах.
Та же проблема здесь ... запуск нового вопроса (кто знает) Он здесь, надеюсь, я получу ответ ... stackoverflow.com/questions/2160726/…