2016-12-01 78 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