我有一个 Web 服务应用程序,它公开了许多 Web 方法(内部调用内部 API 或外部 Web 服务)。我想要一个工具来监控在 IIS 下运行的整个应用程序。需要明确的是,我只是不想检查失败的请求,我还想看看不同的调用需要多长时间。我想它必须是类似于 SQL Profiler 工具的东西,您可以在其中查看所有类型的查询(成功运行的查询和失败的查询),然后应用各种过滤器专注于您更感兴趣的领域。
IIS 中是否有任何内置的东西可以用于此目的?
我有一个 Web 服务应用程序,它公开了许多 Web 方法(内部调用内部 API 或外部 Web 服务)。我想要一个工具来监控在 IIS 下运行的整个应用程序。需要明确的是,我只是不想检查失败的请求,我还想看看不同的调用需要多长时间。我想它必须是类似于 SQL Profiler 工具的东西,您可以在其中查看所有类型的查询(成功运行的查询和失败的查询),然后应用各种过滤器专注于您更感兴趣的领域。
IIS 中是否有任何内置的东西可以用于此目的?
您正在寻找的是 CLR 的运行时分析器。答案是 ETW 跟踪。可以提供帮助的工具是PerfMonitor。
IIS 7 的请求跟踪失败,这有助于诊断失败的原因。
此外,IIS 日志包含大量关于请求、响应、持续时间等信息,这些信息有助于获取指标。我通常使用Log Parser从 IIS 日志中获取指标
如果您在 IIS7+ 中,那么您可以使用内置的 ETW 跟踪来进行 Web 服务。这是网络服务的 ETW 提供程序
e04fe2e0-c6cf-4273-b59d-5c97c9c374a4: Microsoft-Windows-WebServices Microsoft-Windows-WebServices
对于在 ASP.NET 下运行的任何应用程序,您可以使用 perfmon查看不同的性能数字。
如果您使用的是 ASP.NET 4,还有更好的工具可供您使用
此外,如果您的 Web 服务是基于 WCF 的,它会变得更好不仅您有非常丰富的跟踪,还有一个可以很好地显示日志的 gui。
您可以尝试使用称为Web 性能监视器的 Microsoft Web 平台安装程序获取官方 IIS 扩展
Microsoft 销售 System Center Operation Manager,已被许多大公司使用。但如果你买不起,那就太贵了。
Web Performance Monitor 当然值得一试,Perfmon 已经是一个选择。