我正在Windows 2008和IIS 7上为正在运行的网站创建性能计数器,因此进程采用以下形式(即,第一个应用程序池为W3WP,第二个应用程序池为W3WP#1,第三个应用程序池为W3WP#2 , 等等。)
问题是:如果回收应用程序池或重新启动计算机,将会发生什么?是否将相同的流程实例映射到相同的应用程序池,或者它们将更改? (即,将w3wp分配给第一个应用程序池,将w3wp#1分配给第二个应用程序池,将w3wp#2分配给第三个应用程序池,等等)
而且,如果池与进程的关联关系将改变,那么如何在每次系统回收时都不必重新配置性能计数器而继续监视同一应用程序池呢?
进行说明:
我指的性能计数器不是ASP.Net计数器,这些计数器具有与计数器关联的应用程序池名称。
在这里,我指的是“进程”之类的计数器,以及“.Net CLR内存”和“.Net CLR Exception”计数器之类的.Net框架计数器,它们不使用应用程序池,它们使用进程名,这是一个示例“\Process(w3wp)\Thread Count”是一个性能计数器,它告诉进程w3wp中的线程数。此过程是其中一个应用程序池的辅助进程。 “\Process(w3wp#1)\Thread Count”执行相同的操作,但是对于另一个池的工作进程。
问题是:如果回收池或计算机回收,w3wp和w3wp#1是否代表相同的池,否则,我们如何保证我们继续监视所需的池而无需重新配置性能柜台?
最佳答案
进程计数器(与ASP.NET,BTW完全无关)自然只存在于进程的整个生命周期中。
关于windows - 性能计数器,正在更改进程ID?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8216579/