【问题标题】:ASP .Net WebAPI End-To-End performance monitoringASP .Net WebAPI 端到端性能监控
【发布时间】:2023-03-09 17:45:02
【问题描述】:

我使用一个相当大的 WebAPI Web 服务,我们已经开始讨论性能监控。

我们的想法是捕获端到端性能,对于我们的 WebAPI,这将包括 TCP 连接、SSL 握手、F5 防火墙和负载平衡,以及 WebAPI 接收请求和发送响应。我认为我们更关心接收、处理和发送数据,而不是连接的建立。

我的(可能是被误导的)问题是这样的:

如果我要使用以下方法捕获请求的开始时间和结束时间 Application_BeginRequest 和 _EndRequest,本质上是这样吗 考虑端到端时间?

换句话说,忽略建立从客户端到 WebAPI 的连接所需的(可能最少的)时间,BeginRequest 和 EndRequest 方法是否会考虑从客户端接收整个 HttpRequest、处理 WebAPI 方法以及将整个 HttpResponse 发送给客户端?

这会让我接近测量客户端向服务器发送请求(可能包含大量正文数据)所花费的总时间、处理时间以及向客户端发送响应的时间(包含大量正文数据) ?还是我会丢失大部分的接收和发送?

【问题讨论】:

    标签: c# asp.net asp.net-mvc-4 asp.net-web-api


    【解决方案1】:

    不,BeginRequest 不是管道中的第一个事件。在 IIS 中的 BeginRequest 之外发生了几个步骤和过程。更多信息请看这篇文章:https://msdn.microsoft.com/en-us/library/bb470252.aspx

    Stackify 提供了一个有用且免费的工具,可让您可视化流程并在您的开发系统上提供分析。查看Prefix,它可以为您提供有关您的开发系统的完整时序信息。

    在生产中,您可以使用其他解决方案,例如 Stackify 的生产监控和分析,或New Relic

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 2013-07-09
      • 2020-04-25
      • 2019-10-06
      相关资源
      最近更新 更多