【问题标题】:Any tools to monitor IIS and application performance任何监控 IIS 和应用程序性能的工具
【发布时间】:2011-01-31 15:44:44
【问题描述】:

我有一个 Web 服务应用程序,它公开了许多 Web 方法(内部调用内部 API 或外部 Web 服务)。我想要一个工具来监控在 IIS 下运行的整个应用程序。需要明确的是,我只是不想检查失败的请求,我还想看看不同的调用需要多长时间。我想它必须是类似于 SQL Profiler 工具的东西 您可以在其中查看所有类型的查询(成功运行的查询和失败的查询),然后应用各种过滤器专注于您更感兴趣的领域。

在 IIS 中是否有任何内置的东西可以用于此目的?

【问题讨论】:

  • 您使用什么 Web 服务技术(ASMX、WCF)?另外,您运行的是哪个版本的 .NET 和 IIS?
  • 目前是 ASMX,但很快就会采用 WCF。 IIS 7、.NET 3.5(考虑 .NET 4.0 中的一些东西)

标签: web-services iis-7 monit


【解决方案1】:

您正在寻找的是 CLR 的运行时分析器。答案是 ETW 跟踪。可以提供帮助的工具是PerfMonitor

IIS 7 有 failed request tracing 可以帮助诊断 失败。

IIS 日志也有很多关于请求、响应、持续时间等的信息 这有助于获取指标。我通常使用Log Parser 来获取 来自 IIS 日志的指标

如果您使用的是 IIS7+,那么您可以使用内置的 ETW 跟踪来进行 Web 服务。 这是网络服务的 ETW 提供程序

e04fe2e0-c6cf-4273-b59d-5c97c9c374a4: Microsoft-Windows-WebServices Microsoft-Windows-WebServices

【讨论】:

  • 那么是否有任何工具可以整合所有这些数据/消息,或者我必须单独运行这些工具来收集所有数据进行分析?我也发布了一个不同的问题,但我将从性能监视器得到的不是 ETW 的一部分。我以某种方式理解 ETW 是所有日志的一种超集(这意味着它包括所有性能计数器、失败的请求跟踪和 IIS 日志等)?
  • 如果我错了,请纠正我,但您提供的 PerfMonitor 链接似乎适用于 .NET 4.0,而我们使用的是 3.5
  • @Imak 不使用 Perfmonitor 我也可以获得 .NET 3.5 进程的调用堆栈。
【解决方案2】:

对于在 ASP.NET 下运行的任何应用程序,you can use perfmon 查看不同的性能数字。

如果您使用的是 ASP.NET 4,甚至还有 better tools available to you

另外,如果您的 Web 服务是基于 WCF 的,it gets even better 您不仅有非常丰富的跟踪,there's also a gui 可以很好地显示日志。

【讨论】:

  • 抱歉我的无知,但是您在这里具体讨论的是哪个 gui 工具来显示日志?
  • 不确定指向 ASP.NET 4 中的新增功能的链接如何提供任何可视化 IIS 性能的工具
  • 嗯,该链接用于包含有关 ASP.NET 4 中性能改进的信息,但我可以看到 3 个链接中的一个不包括它曾经做过的信息如何导致您将整个答案标记为错误讽刺>
【解决方案3】:

您可以尝试使用名为 Web Performance Monitor 的 Microsoft Web 平台安装程序获取官方 IIS 扩展

【讨论】:

  • 理想情况下,我想使用一些具有大量现有用户群的工具/技术用于生产应用程序。如果我错了,请纠正我,但我没有看到它有广泛的用途。
【解决方案4】:

Microsoft 销售 System Center Operation Manager,已被许多大公司使用。但如果你买不起,那就太贵了。

Web Performance Monitor 当然值得一试,Perfmon 已经是一个选择。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-28
    • 2010-12-26
    相关资源
    最近更新 更多