Надежный способ просмотра статистики производительности процесса в пуле приложений IIS6 - PullRequest
1 голос
/ 16 декабря 2008

В perfmon в Windows Server 2003 имеются счетчики для получения статистики времени процессора и рабочего набора памяти для каждого процесса. Единственная проблема заключается в том, что в среде с несколькими пулами приложений нет способа надежно определить правильный рабочий процесс. В perfmon все они называются "w3wp", и если их несколько, это w3wp, w3wp # 1, w3wp # 2 и так далее. Даже эти имена ненадежны - число зависит от того, какое из них было запущено первым, и, очевидно, изменяется при повторном использовании пула приложений, поскольку процесс уничтожается и перезапускается.

Я не нашел каких-либо специфичных для ASP.NET счетчиков, и по какой-то причине мой объект IIS не разделяет экземпляры - есть только один «глобальный» экземпляр.

В конечном итоге мне просто нужны счетчики «% времени процессора» и «Рабочий набор» для определенного пула приложений IIS. Есть предложения?

Ответы [ 2 ]

2 голосов
/ 16 декабря 2008

Мы всегда собирали статистику для всех процессов w3wp и собирали PID. Это один из счетчиков в группе процессов.

В папке system32 Server 2003 есть скрипт, который называется IISApp.vbs, в котором перечислены все процессы и их PID. Вам нужно будет запустить это, чтобы захватить PID.

Я уверен, что должен быть лучший способ, но это сработало, когда нам нужно было выполнить специальный мониторинг.

1 голос
/ 17 января 2012

Экземпляр w3wp может не отображаться, если рабочий процесс не используется в течение длительного времени. Интерфейс UI должен использоваться в течение небольшого промежутка времени, чтобы рабочий процесс (w3wp) мог отображаться в экземплярах.

...