我正在为Windows 2008和IIS 7上正在运行的网站创建性能计数器,因此这些进程的形式为(即第一个应用程序池为W3WP,第二个应用程序池为W3WP#1,第二个应用程序池为W3WP#2)第三个应用程序池等。)
问题是:如果应用程序池被回收或机器重新启动会发生什么?是否会将相同的流程实例映射到相同的应用程序池,否则它们会发生变化? (即将w3wp分配给第一个应用程序池,第二个池为w3wp#1,第三个应用程序池为w3wp#2等)。
并且,如果池进程关联将发生变化,那么我们如何继续监视同一个应用程序池,而无需在每次系统回收时重新配置性能计数器?
澄清: 我所指的性能计数器不是ASP.Net计数器,它们具有与计数器关联的应用程序池名称。
这里,我指的是像“Process”这样的计数器,以及.Net框架计数器,例如“.Net CLR Memory”和“.Net CLR Exception”计数器,这些都不使用app池,他们使用进程名称,这里是一个示例“\ Process(w3wp)\ Thread Count”是一个性能计数器,它告诉进程w3wp中的#个线程。此过程是其中一个应用程序池的工作进程。 “\ Process(w3wp#1)\ Thread Count”对另一个池的工作进程执行相同的操作。
问题是:如果池回收或机器回收,w3wp和w3wp#1是否代表相同的池,如果没有,我们如何保证我们继续监控我们想要的池而无需重新配置性能计数器?
答案 0 :(得分:1)
进程计数器(它与ASP.NET无关,BTW)自然只能在进程的生命周期内存在。