• /
  • EnglishEspañol日本語한국어Português
  • ログイン今すぐ開始

この機械翻訳は、参考として提供されています。

英語版と翻訳版に矛盾がある場合は、英語版が優先されます。詳細については、このページを参照してください。

問題を作成する

Pythonメッセージキュー

Python エージェントは、 Pika RabbitMQクライアント ライブラリKafka Pythonクライアント ライブラリ、およびConfluent Kafkaクライアント ライブラリをサポートしており、受信メッセージと送信メッセージの両方について、メッセージ処理のパフォーマンスを可視化できます。

New Relic UI には、メッセージ受信 (メッセージのサブスクライブ/消費) によって開始されたトランザクションがMessageバックグラウンド タスクとして表示されます。 メッセージの作成は、瞬間トレースにも表示されます。

要件

Message Queue

Python agent version required

ピカラビットMQ

2.88.0.72

カフカパイソン

8.2.0.181

コンフルエントなカフカ

8.2.0.181

詳細については、リリース ノートを参照してください。

注意

TornadoConnectionを使用しているコンシューマーに対して、RabbitMQ メッセージ タスクが開始されません。

注意

Kafka 経由でメッセージを消費する場合、メッセージがコンシューマーによって消費されるたびに、メッセージごとにトランザクションが報告されます。複数のメッセージが一度に消費される一括消費操作では、トランザクションは報告されません。

バックグラウンドタスクのパフォーマンス改善

Webアプリケーションの応答性を向上させる方法の一つとして、バックグラウンドプロセスに作業を委ねる方法があります。このプロセス間通信には、メッセージキューがよく使われます。

メッセージ キューイング システムのコンテキストでは、アプリケーションは通常、メッセージ ブローカーと対話してメッセージを送受信します。RabbitMQ Pika の場合、このクライアント ライブラリを使用すると、Python アプリケーションは Advanced Message Queuing Protocol (AMQP) 0.9 以降を実装するメッセージ ブローカーとやり取りできます。

Python エージェントは、クライアント ライブラリを使用して送受信されたメッセージを表示します。この可視性により、次のような詳細を確認できます。

  • アプリで生成されたメッセージの数
  • アプリがメッセージの発行/生成に費やす時間
  • アプリがメッセージの処理/消費に費やす時間

APM は、キューとやりとりするオペレーションを便利にグループ化し、レポートします。この情報を分析することで、メッセージパッシングアーキテクチャのボトルネックやパフォーマンス向上のための領域をより簡単に特定することができます。

サポートされる指標

Message Queue

Pika RabbitMQ

Kafka Python

Confluent Kafka

Publish a Message

はい -- と呼ばれる Put

はい -- と呼ばれる Produce

はい -- と呼ばれる Produce

Receive a Message

はい -- と呼ばれる Take

はい -- と呼ばれる Consume

はい -- と呼ばれる Consume

Serialization

いいえ

はい

はい

Deserialization

いいえ

いいえ

はい

Heartbeat

いいえ

はい

いいえ

New Relic UIでの表示

キュー操作は、選択したアプリの APM のTransactionsページに表示されます。

Put (メッセージのパブリッシュ) とTake (メッセージの受信) メトリクスはBreakdown tableに表示され、RabbitMQ のMessageBrokerメトリクスとして分類されます。 以下に例を示します。

New Relic for Python rabbitmq task

one.newrelic.com > All capabilities > APM & services > (select an app) > Monitor > Transactions > (select a transaction): トランザクションのBreakdown tableは、キュー操作を RabbitMQ のMessageBrokerメトリクスとして分類し、それらをPut (メッセージのパブリッシュ) またはTake (メッセージの受信) としてラベル付けします。

トランザクショントレース メッセージの追加詳細情報も提供しています。

ヒント

APM のアプリのSummaryまたはTransactionsページから、段階トレースを選択できます。

低速トレースの概要ページのSlowest componentsセクションに、RabbitMQ のPutおよびTake操作が表示される場合があります。 例えば:

New Relic for Python rabbitmq transaction trace summary

one.newrelic.com > All capabilities > APM & services > (select an app) > (select a transaction trace): この例では、選択された戦場トレースのSummaryは、RabbitMQ 操作を色付きのバーチャートで示しています。 Slowest componentsセクションには、RabbitMQ PutおよびTakeの結果もリストされます。

Copyright © 2024 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.