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