弊社の Java エージェント バージョン 3.9.0 以降は、 Java Message Service (JMS) 1.1 APIとRabbitMQ Java クライアント ライブラリの両方をサポートしています。これにより、受信メッセージと送信メッセージの両方について、メッセージ処理のパフォーマンスを把握できます。
の UI は、JMS 1.1 または RabbitMQ メッセージ受信を介して開始されたトランザクションを メッセージ バックグラウンド タスクとして表示します。 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
(メッセージの受信) として表示されます。
キューの操作 | メッセージを公開します (UI では | メッセージを受信 (UI では |
---|---|---|
RabbitMQ |
|
|
JMS |
|
|
メッセージキューの操作を見る
キュー操作は、選択したアプリの APM の [トランザクション]ページに表示されます。Put
およびTake
指標が内訳表に表示され、 MessageBroker
指標として分類されます。トランザクション追跡により、追加の詳細が提供される場合があります。
その他の場所には、RabbitMQ 情報が表示される場合があります。
- トランザクション追跡の概要ページでは、 [最も遅いコンポーネント]セクションに
Put
およびTake
操作が表示される場合があります。 - トランザクション追跡ページには、専用のメッセージタブが含まれる場合があります。