我使用相当大的WebAPI Web服务,我们已经开始讨论性能监控。
我们的想法是捕获端到端性能,对于我们的WebAPI,它将包括TCP连接,SSL握手,F5防火墙和负载平衡,以及接收请求和发送响应的WebAPI。我认为我们更关心的是接收,处理和发送数据而不是建立连接。
我的(可能是误导的)问题是:
如果我要捕获使用的请求的开始和结束时间 Application_BeginRequest和_EndRequest,基本上就是这样 帐户的端到端时间?
换句话说,忽略建立从客户端到WebAPI的连接所需的(可能是最小的)时间,BeginRequest和EndRequest方法会考虑从客户端接收整个HttpRequest,处理WebAPI方法,以及将整个HttpResponse发送给客户端?
这会让我接近测量客户端向服务器发送请求所需的总时间(可能有大量正文数据),处理时间以及将响应发送到客户端的时间(具有大型正文数据) ?或者我会错过接收和发送的大部分内容吗?
答案 0 :(得分:1)
不,BeginRequest不是管道中的第一个事件。在IIS中的BeginRequest之外发生了几个步骤和过程。有关详细信息,请参阅此文章:https://msdn.microsoft.com/en-us/library/bb470252.aspx
Stackify提供了一个有用且免费的工具,可以让您可视化流程并在开发系统上提供分析。查看Prefix,它可以为您提供有关开发系统的完整计时信息。
在制作中,您可以使用其他解决方案,例如Stackify的生产监控和分析,或New Relic