弊社の Java エージェント バージョン 3.9.0 以降は、 Java Message Service (JMS) 1.1 APIとRabbitMQ Java クライアント ライブラリの両方をサポートしています。これにより、受信メッセージと送信メッセージの両方について、メッセージ処理のパフォーマンスを把握できます。
UI には、JMS 1.1 または RabbitMQ メッセージ受信を介して開始されたトランザクションがMessageバックグラウンド タスクとして表示されます。 JMS または RabbitMQ を介したメッセージの作成も、段階レースに表示されます。
要件
RabbitMQ クライアントのアクティビティを監視するには、New Relic の Java エージェント バージョン 3.9.0 以降を ダウンロードしてインストールしていることを確認してください。
JMS を監視するには、New Relic の Java エージェント バージョン 3.3.1 以降を ダウンロードしてインストールしていることを確認してください。
ヒント
より詳細な RabbitMQ モニタリングについては、RabbitMQ オンホスト統合をお勧めします。
バックグラウンドタスクのパフォーマンス改善
Webアプリケーションの応答性を向上させる方法の一つとして、バックグラウンドプロセスに作業を委ねる方法があります。このプロセス間通信には、メッセージキューがよく使われます。
メッセージキューイングシステムのコンテキストでは、アプリケーションは通常、メッセージブローカーと対話してメッセージを送受信します。RabbitMQ Javaクライアントライブラリを使用すると、Javaアプリケーションは、AMQP(Advanced Message Queueing Protocol)0.9を実装したメッセージブローカーとインターフェースをとることができます。
New Relic の Java エージェントは、RabbitMQ クライアント ライブラリと JMS を使用して送受信されたメッセージを表示します。この可視性により、次のような詳細を確認できます。
- あなたのアプリが扱うメッセージ数
- アプリがメッセージを公開するのにかかる時間
- "dequeued" メッセージの処理にアプリが費やす時間
APMの は、一時的なキューとやりとりするオペレーションを便利にグループ化し、レポートします。この情報を分析することで、処理に時間がかかりすぎている部分や、バックグラウンドメッセージとして処理した方がよい部分をより簡単に特定することができます。
キューの操作
キュー操作でサポートされているエントリ ポイントは、APM のユーザー インターフェースではPut
(メッセージの発行) またはTake
(メッセージの受信) として表示されます。
Queue operations | Publish a message ( | Receive a message ( |
---|---|---|
RabbitMQ |
|
|
JMS |
|
|
メッセージキューの操作を見る
キュー操作は、選択したアプリの APM のTransactionsページに表示されます。 Put
とTake
メトリクスはBreakdown tableに表示され、 MessageBroker
メトリクスとして分類されます。 現場トレースで追加の詳細が提供される場合があります。
one.newrelic.com > All capabilities > APM & servicesに移動してアプリをクリックします。 MonitorセクションでTransactionをクリックし、トランザクションを選択して内訳表を表示します。
その他の場所には、RabbitMQ 情報が表示される場合があります。
- 低速トレースの概要ページでは、Slowest componentsセクションに
Put
およびTake
の操作が表示される場合があります。 - トランザクション追跡ページには、専用のメッセージタブが含まれる場合があります。