本文介绍了在IIS6应用程序池上查看特定于进程的性能统计信息的可靠方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Windows Server 2003的perfmon中,有一些计数器对象来获取每个进程的处理器时间和内存工作集统计信息.唯一的问题是,在具有多个应用程序池的环境中,无法可靠地标识正确的工作进程.在perfmon中,它们都被称为"w3wp",如果不止一个,则为w3wp,w3wp#1,w3wp#2,依此类推.即使这些名称也不可靠-该数字取决于首先启动的名称,并且在回收应用程序池时显然会更改,因为该进程已销毁并重新启动.

In perfmon in Windows Server 2003, there are counter objects to get per-process processor time and memory working set statistics. The only problem is that in an environment with multiple application pools, there is no way to reliably identify the correct worker process. In perfmon, they are all called "w3wp", and if there is more than one, they are w3wp, w3wp#1, w3wp#2, and so on. Even these names are unreliable - the number depends on which one started first, and obviously changes when an app pool is recycled because the process is destroyed and restarted.

我没有找到任何特定于ASP.NET的计数器,由于某种原因,我的IIS对象没有分隔实例-只有一个全局"实例.

I haven't found any ASP.NET-specific counters, and for some reason, my IIS object doesn't separate instances - there's only one "global" instance.

最终,我只想要特定IIS应用程序池的%Processor Time"和"Working Set"计数器.有什么建议吗?

Ultimately, I just want the "% Processor Time" and "Working Set" counters for a specific IIS App Pool. Any suggestions?

推荐答案

我们将始终收集所有w3wp进程的统计信息,并捕获PID.这是处理"组中的计数器之一.

We'd always collect the stats for all the w3wp processes, and we would capture PID. This is one of the counters in the Process group.

在Server 2003的system32文件夹中有一个名为IISApp.vbs的脚本,它将列出所有进程及其PID.您将需要运行此命令以捕获PID.

There's a script that site in Server 2003's system32 folder called IISApp.vbs, that will list all the processes and their PIDs. You will need to run this to capture the PID's.

我肯定必须有一个更好的方法,但这在我们需要进行即席监控时有效.

I'm sure there has to be a better way but this worked when we needed to do adhoc monitoring.

这篇关于在IIS6应用程序池上查看特定于进程的性能统计信息的可靠方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-12 10:17