2016-12-01 45 views
0

我使用相当大的WebAPI Web服务,并且我们已经开始讨论性能监控。ASP .Net WebAPI端到端性能监控

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

我(也许误导)的问题是:

如果我捕捉到开始和结束时间使用 的Application_BeginRequest和_EndRequest,将基本上 占终端到结束时间的请求?

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

能否让我接近度量客户端向服务器发送请求所花费的总时间(可能包含大量主体数据),处理时间以及将响应发送到客户端的时间(具有大量的主体数据)?或者我会错过接收和发送的很大一部分?

回答

1

不,BeginRequest不是管道中的第一个事件。有几个步骤和过程发生在IIS的BeginRequest之外。有关详细信息,请参阅此文章:https://msdn.microsoft.com/en-us/library/bb470252.aspx

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

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