Site24x7 APMインサイトの.NETエージェントで、.NET 4.5の非同期待機操作で生成された非同期要求を監視します。
非同期プログラムは、要求スレッドの実行ブロックなく、コードの同時実行を行うプログラミング手法です。
APMインサイト.NETエージェントでは、System.Threading.Tasksを使用して、要求されたメソッドの完了を待つことなく非同期操作の実行をキャプチャします。
同期プログラミングモデルは特定の順番でプログラムタスクを実行します。そのため次のタスクを開始するには、現在のタスクを完了させる必要があり、いくつかのタスクの待機時間が増加する傾向にあります。
非同期プログラムでは、非ブロックモデルを使用し、タスクを同時に実行することが可能です。非同期タスクはそれぞれで独立して実行し開始されます。非同期コードは順番に実行されないため、サーバーが処理を効率的に行えます。
APMインサイト.NETエージェントではこの非同期タスクを監視し、非同期関数やWebトランザクションのパフォーマンスを容易にトレースできます。
APMインサイトのトレース機能で、非同期タスクの状況を環境全体で把握できます。
次の手順で非同期要求を表示します。
async-awaitを使用して要求される非同期メソッドの実行時間を表示します。
非同期.NETアプリケーションの全体の応答時間は、大抵の場合、トランザクション時間の合計より短くなります。これは非同期メソッドはすべてのメソッドが返されるまで待機する必要がないからです。
応答時間を表示するには、[APM]→[アプリケーション名]→[概要]タブに移動します。
概要ページでは、アプリサーバー応答時間のコンポーネント内訳などのグラフが表示されます。
アプリケーション内の非同期アクティビティが応答時間(ダークブルー線)として表示され、これはトランザクション時間の合計より短くなります。