New Relic Ruby 에이전트는 Bunny RabbitMQ 클라이언트 라이브러리 를 지원하여 수신 및 발신 메시지 모두에 대한 메시지 처리 성능에 대한 통찰력을 제공합니다.
APM UI는 RabbitMQ 메시지 수신(메시지 구독/소비)을 통해 시작된 트랜잭션을 Message 백그라운드 작업으로 표시합니다. RabbitMQ를 통한 메시지 생성은 프로세서 트레이스에도 나타납니다.
요구 사항
New Relic Ruby 에이전트 버전 4.3.0 이상 이 필요합니다. 지원되는 Bunny AMQP 버전에서는 계측이 자동으로 수행되며 추가 구성이 필요하지 않습니다.
백그라운드 작업으로 성능 향상
웹 애플리케이션의 응답성을 높이는 한 가지 방법은 작업을 백그라운드 프로세스에 위임하는 것입니다. 메시지 큐는 일반적으로 이러한 프로세스 간 통신에 사용됩니다.
메시지 대기열 시스템과 관련하여 응용 프로그램은 일반적으로 메시지 브로커와 상호 작용하여 메시지를 보내고 받습니다. RabbitMQ Bunny 클라이언트 라이브러리를 사용하면 Ruby 애플리케이션이 AMQP(Advanced Message Queuing Protocol)를 구현하는 메시지 브로커와 인터페이스할 수 있습니다.
New Relic의 Ruby 에이전트는 RabbitMQ 클라이언트 라이브러리를 사용하여 주고받은 메시지를 보여줍니다. 이 가시성을 통해 다음을 포함한 세부 정보를 볼 수 있습니다.
- 앱에서 생성된 메시지 수
- 앱에서 메시지 게시에 소요한 시간
- 앱이 "소비된" 메시지를 처리하는 데 소비한 시간
APM 은 대기열과 상호 작용하는 작업을 편리하게 그룹화하고 보고합니다. 이 정보를 분석하면 메시지 전달 아키텍처에서 병목 현상과 성능 향상을 위한 영역을 보다 쉽게 식별할 수 있습니다.
대기열 작업
대기열 작업에 지원되는 진입점은 APM의 사용자 인터페이스에서 Put
(메시지 게시) 또는 Take
(메시지 수신)으로 나타납니다.
Queue operations | Publish a message ( | Receive a message ( |
---|---|---|
RabbitMQ |
|
|
New Relic UI에서 보기
메시지 대기열 작업은 APM UI의 여러 위치에서 볼 수 있습니다.