Python 에이전트는 수신 및 발신 메시지 모두에 대한 메시지 처리 성능에 대한 가시성을 제공하는 Pika RabbitMQ 클라이언트 라이브러리, Kafka Python 클라이언트 라이브러리 및 Confluent Kafka 클라이언트 라이브러리를 지원합니다. .
뉴렐릭 UI는 메시지 수신(메시지 구독/소비)을 통해 시작된 트랜잭션을 Message 백그라운드 작업으로 표시합니다. 메시지 생성은 프로세서 트레이스에도 나타납니다.
요구 사항
Message Queue | Python agent version required |
---|---|
피카 래빗MQ | 2.88.0.72 |
카프카 파이썬 | 8.2.0.181 |
컨플루언트 카프카 | 8.2.0.181 |
자세한 내용 은 릴리스 정보 를 참조하십시오.
주의
TornadoConnection 을 사용하는 소비자에 대해 RabbitMQ 메시지 작업이 시작되지 않습니다.
주의
Kafka를 통해 메시지를 소비하는 경우 소비자가 소비하는 각 메시지에 대해 트랜잭션이 보고됩니다. 여러 메시지가 한 번에 소비되는 대량 소비 작업의 경우 트랜잭션이 보고되지 않습니다.
백그라운드 작업으로 성능 향상
웹 애플리케이션의 응답성을 높이는 한 가지 방법은 작업을 백그라운드 프로세스에 위임하는 것입니다. 메시지 큐는 일반적으로 이러한 프로세스 간 통신에 사용됩니다.
메시지 대기열 시스템과 관련하여 응용 프로그램은 일반적으로 메시지 브로커와 상호 작용하여 메시지를 보내고 받습니다. RabbitMQ Pika의 경우 이 클라이언트 라이브러리를 사용하면 Python 애플리케이션이 AMQP(Advanced Message Queuing Protocol) 0.9 이상을 구현하는 메시지 브로커와 인터페이스할 수 있습니다.
Python 에이전트는 클라이언트 라이브러리를 사용하여 보내고 받은 메시지를 보여줍니다. 이 가시성을 통해 다음을 포함한 세부 정보를 볼 수 있습니다.
- 앱에서 생성된 메시지 수
- 앱에서 메시지 게시/생성에 소요하는 시간
- 앱에서 메시지를 처리/소비하는 데 소요되는 시간
APM 은 대기열과 상호 작용하는 작업을 편리하게 그룹화하고 보고합니다. 이 정보를 분석하면 메시지 전달 아키텍처에서 병목 현상과 성능 향상을 위한 영역을 보다 쉽게 식별할 수 있습니다.
지원되는 측정항목
Message Queue | Pika RabbitMQ | Kafka Python | Confluent Kafka |
---|---|---|---|
Publish a Message | 예 -- 라고 함 | 예 -- 라고 함 | 예 -- 라고 함 |
Receive a Message | 예 -- 라고 함 | 예 -- 라고 함 | 예 -- 라고 함 |
Serialization | 아니요 | 네 | 네 |
Deserialization | 아니요 | 아니요 | 네 |
Heartbeat | 아니요 | 네 | 아니요 |
New Relic UI에서 보기
대기열 작업은 선택한 앱에 대한 APM의 Transactions 페이지 에 나타납니다.
Put
(메시지 게시) 및 Take
(메시지 수신) 지표는 Breakdown table 에 표시되며 RabbitMQ의 경우 MessageBroker
지표로 분류됩니다. 예는 다음과 같습니다.
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
작업이 표시될 수 있습니다. 예를 들어:
one.newrelic.com > All capabilities > APM & services > (select an app) > (select a transaction trace): 이 예에서 선택한 프로세서 트레이스의 Summary RabbitMQ 작업을 색상이 지정된 바 차트로 표시합니다. Slowest components 섹션에는 RabbitMQ Put
및 Take
결과도 나열되어 있습니다.