APMインサイトJavaは、CompletableFuture非同期処理に対応しています。多くのフレームワークで非同期な処理を行えるメソッドです。このドキュメントでは、非同期処理とAPMインサイトによるその監視について記載しています。
同期プログラミングモデルでは、特定の順番でプログラミングタスクを実行していきます。1タスクが完了しなければ次のタスクを処理できず、いくつかのタスクで待機時間が増加します。
非同期プログラミングモデルはこの障害のないモデルで、同時にタスクを実行できます。非同期タスクは、実行と初期化に関して、互いに完全に独立しています。非同期コードは順番に実行されないため、サーバーの処理能力を効率的に使用できます。
APMインサイトJavaエージェントは、この非同期タスクを監視できるように設計されており、非同期関数やWebトランザクションのパフォーマンスを容易に追跡できます。
APMインサイトのトレースタブで、非同期タスクが環境内でどのように実行されているかを可視化できます。
次の手順で非同期要求を表示できます。
次の非同期要求のメトリックが表示されます。
非同期Javaアプリケーションの全体の応答時間は、トランザクション時間の合計よりも小さくなることが多いです。これは、非同期メソッドは前のメソッドが完了するまでに待機する必要がないためです。タスクを延期できるため、アプリケーションが制限されたリソースを有効に使用することができ、処理速度を早くできます。
これを表示するには、Site24x7にログインし、APM > アプリケーション名 > 概要タブをクリックします。
APMの 概要ページで、コンポーネントごとのアプリサーバー応答時間の内訳を確認します。各Javaアプリケーションの非同期アクティビティの応答時間結果が表示されます(ダークブルーの線)。この線はトランザクション時間の合計より小さくなります。