可靠的方式来看到的IIS6应用程序池的具体过程PERF统计(Reliable way to see

2019-09-26 04:37发布

在Windows Server 2003中性能监视器,有计数器对象获得每个进程的处理器时间和内存的工作集的统计数据。 唯一的问题是,在与多个应用程序池的环境中,没有办法可靠地识别正确的工作进程。 在性能监视器,它们都被称为“W3WP”,如果有不止一个,他们是W3WP,W3WP#1,#W3WP 2,依此类推。 即使这些名字都是不可靠的 - 的数量取决于哪一个先开始,显然,当一个应用程序池被回收,因为该过程被破坏并重新启动改变。

我还没有发现任何具体的ASP.NET的计数器,出于某种原因,我的IIS对象不单独实例 - 只有一个“全球性”的实例。

最终,我只是想在“%处理器时间”,并为特定的IIS应用程序池“工作集”专柜。 有什么建议么?

Answer 1:

我们总是收集统计所有的w3wp进程,我们将捕获PID。 这是过程组中的计数器之一。

有一个脚本,网站服务器2003的system32文件夹下名为IISApp.vbs,将列出所有的进程和它们的PID。 您将需要运行这个捕捉PID的。

我敢肯定,必须有一个更好的办法,但这个工作时,我们需要做即席监控。



Answer 2:

该W3WP实例可能不会出现,如果工作进程是闲置了很长一段时间。 UI界面具有用于小的时间过程中,从而使工作进程(W3WP)可在实例显示。



文章来源: Reliable way to see process-specific perf statistics on an IIS6 app pool