我有一台 Windows 2008 R2 Service Pack 1 服务器。它是虚拟的,但这并不会产生任何影响。它的唯一用途是运行 IIS 7,而且它运行得相当好。但是,当我转到性能监视器时,没有 ASP.NET 或 ASP.NET 应用程序的选择。可以选择 APP_POOL_WAS,它有我感兴趣的应用程序池实例,但计数器不是很有趣。还有许多其他性能计数器选项。网站使用 2 个应用程序池,每个都使用 .NET 框架的 v4.0。如果我查看任务管理器,我会看到两个 w3wp.exe 正在运行,每个都是 IIS 工作进程。我已打开 UAC,但我将其关闭。我将 appDomainResourceMontoring 添加到 aspnet.config 文件中,但这没有帮助。如果这有一点帮助,这是 aspnet.config 文件。
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<runtime>
<legacyUnhandledExceptionPolicy enabled="false" />
<legacyImpersonationPolicy enabled="true"/>
<alwaysFlowImpersonationPolicy enabled="false"/>
<SymbolReadingPolicy enabled="1" />
<shadowCopyVerifyByTimestamp enabled="true"/>
<appDomainResourceMonitoring enabled="true"/>
</runtime>
<startup useLegacyV2RuntimeActivationPolicy="true" />
</configuration>
答案1
您具体想追踪或监控什么?
正如您所看到的,您必须监视应用程序池及其中的实例,因为它们是服务器上的实际线程,以 w3wp.exe 进程为幌子。
此外,您还可以查看 ASP.NET 健康监控提供程序。到目前为止,它拥有与实际运行的应用程序相关的最多统计数据和信息。查看 Microsoft 文档这里了解更多信息。如果我没记错的话,你可以直接将它们记录到事件日志或数据库中。数据库是一个不错的选择,因为根据你的配置,可能会引发大量事件。