Loading...
Spring Framework Reference Documentation 7.0.2의 Monitoring의 한국어 번역본입니다.
아래의 경우에 피드백에서 신고해주신다면 반영하겠습니다.
감사합니다 :)
@EnableWebSocketMessageBroker 또는 <websocket:message-broker>를 사용할 때, 핵심 인프라스트럭처 컴포넌트들이 애플리케이션의 내부 상태에 대한 중요한 통찰을 제공하는 통계와 카운터를 자동으로 수집합니다. 설정은 또한 하나의 빈으로서 WebSocketMessageBrokerStats 타입을 선언하며, 이는 사용 가능한 모든 정보를 한 곳에 모으고 기본적으로 30분마다 한 번씩 INFO 레벨로 로그를 남깁니다.
이 빈은 런타임에 조회할 수 있도록 Spring의 MBeanExporter를 통해 JMX로 export될 수 있습니다(예를 들어 JDK의 jconsole을 통해). 다음 목록은 사용 가능한 정보를 요약한 것입니다:
현재 클라이언트 세션이 얼마나 있는지를 나타내며, 이 카운트는 WebSocket과 HTTP 스트리밍 및 폴링 SockJS 세션으로 더 세분화됩니다.
설정된 전체 세션이 얼마나 되는지를 나타냅니다.
세션이 설정되었지만 60초 이내에 어떤 메시지도 받지 못해 close된 세션입니다. 이는 보통 프록시나 네트워크 문제를 나타냅니다.
구성된 send 타임아웃 또는 send 버퍼 한도를 초과한 후 close된 세션으로, 이는 느린 클라이언트에서 발생할 수 있습니다(이전 섹션을 참조하십시오).
WebSocket 커넥션 또는 HTTP 요청이나 응답에 대해 read 또는 write를 수행하지 못하는 등의 전송 오류 이후에 close된 세션입니다.
처리된 CONNECT, CONNECTED, DISCONNECT 프레임의 총 개수로, STOMP 레벨에서 얼마나 많은 클라이언트가 연결되었는지를 나타냅니다. 세션이 비정상적으로 close되거나 클라이언트가 DISCONNECT 프레임을 보내지 않고 close하는 경우 DISCONNECT 카운트는 더 낮을 수 있습니다.
클라이언트 WebSocket 세션을 대신하여 브로커에 설정된 TCP 커넥션이 얼마나 되는지를 나타냅니다. 이는 클라이언트 WebSocket 세션 수 + 애플리케이션 내부에서 메시지를 보내기 위한 하나의 추가 공유 “system” 커넥션과 같아야 합니다.
클라이언트를 대신하여 브로커로 전달되거나 브로커로부터 수신된 CONNECT, CONNECTED, DISCONNECT 프레임의 총 개수입니다. 클라이언트 WebSocket 세션이 어떻게 close되었는지에 상관없이 DISCONNECT 프레임은 브로커로 전송된다는 점에 유의하십시오. 따라서 더 낮은 DISCONNECT 프레임 카운트는 브로커가 주도적으로 커넥션을 close하고 있다는 신호입니다(아마도 제때 도착하지 않은 heartbeat, 잘못된 input 프레임, 또는 기타 문제 때문일 수 있습니다).
clientInboundChannel을 지원하는 스레드 풀의 통계로, 들어오는 메시지 처리의 상태에 대한 통찰을 제공합니다. 여기에서 태스크가 큐에 쌓인다는 것은 애플리케이션이 메시지를 처리하기에 너무 느릴 수 있음을 나타냅니다. I/O 바운드 태스크(예: 느린 데이터베이스 쿼리, 서드 파티 REST API에 대한 HTTP 요청 등)가 있는 경우 스레드 풀 크기를 늘리는 것을 고려하십시오.
clientOutboundChannel을 지원하는 스레드 풀의 통계로, 클라이언트에게 메시지를 브로드캐스트하는 상태에 대한 통찰을 제공합니다. 여기에서 태스크가 큐에 쌓인다는 것은 클라이언트가 메시지를 소비하기에 너무 느리다는 신호입니다. 이를 해결하는 한 가지 방법은 예상되는 동시 느린 클라이언트 수를 수용할 수 있도록 스레드 풀 크기를 증가시키는 것입니다. 또 다른 옵션은 send 타임아웃과 send 버퍼 크기 한도를 줄이는 것입니다(이전 섹션을 참조하십시오).
heartbeat를 보내는 데 사용되는 SockJS 태스크 스케줄러의 스레드 풀에 대한 통계입니다. heartbeat가 STOMP 레벨에서 협상되는 경우 SockJS heartbeat는 비활성화된다는 점에 유의하십시오.
Performance
Testing