ActiveMQ 사용 노트 (7) ActiveMQ 성능 최적화
1. 목표 전략
노드 destinationPolicy 설정 정책 에서 단일 또는 모든 테마 와 대기 열 을 설정 할 수 있 습 니 다. 데이터 감 시 를 사용 할 수 있 습 니 다. 메시지 가 memory Limit 에 이 르 렀 을 때 ActiveMQ 는 메시지 의 발생 을 늦 추고 차단 할 수 있 습 니 다. destinationPolicy 의 설정 은 다음 과 같 습 니 다.
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb">
<pendingSubscriberPolicy>
<vmCursor />
</pendingSubscriberPolicy>
</policyEntry>
<policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb">
<!-- Use VM cursor for better latency
For more information, see:
http://activemq.apache.org/message-cursors.html
<pendingQueuePolicy>
<vmQueueCursor/>
</pendingQueuePolicy>
-->
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
producerFlowControl 은 데이터 모니터링 여 부 를 표시 합 니 다. 기본 값 은 true 입 니 다. false 로 설정 하면 메모리 가 넘 치지 않도록 디스크 에 메시지 가 존재 합 니 다.memory Limit 는 producerFlowControl = "true" 의 경우 메시지 가 메모리 에 가장 많이 저장 되 어 있 으 며, 메시지 가 이 값 에 도달 하면 ActiveMQ 는 메시지 의 발생 을 늦 추고 심지어 차단 할 수 있 습 니 다.policy Entry 의 속성 참고:http://activemq.apache.org/per-destination-policies.html
producer 가 보 낸 지속 적 인 메시지 가 broker 에 도착 하면 broker 는 먼저 영구적 인 저장 소 에 저장 합 니 다.그 다음 에 현재 활발 한 consumer 가 있 는 것 을 발견 하면 이 consumer 소비 메시지 의 속도 가 producer 생산 메시지 의 속 도 를 따라 잡 을 수 있다 면 ActiveMQ 는 broker 내부 에서 이 consumer 와 관련 된 dispatch quue 에 메 시 지 를 직접 전달 할 것 이다.현재 활성 화 된 consumer 나 consumer 소비 메시지 의 속도 가 producer 생산 메시지 의 속 도 를 따라 가지 못 하면 ActiveMQ 는 Pending Message Cursors 를 사용 하여 메시지 에 대한 인용 을 저장 합 니 다.필요 할 때 Pending Message Cursors 는 broker 내부 에서 이 consumer 와 관련 된 dispatch quue 에 메 시 지 를 인용 하여 전달 합 니 다.다음은 두 가지 Pending Message Cursors 입 니 다.
VM Cursor: 메모리 에 메시지 의 인용 을 저장 합 니 다.
File Cursor: 우선 메모리 에 메시지 의 인용 을 저장 합 니 다. 메모리 사용량 이 상한 에 도달 하면 메시지 인용 을 임시 파일 에 저장 합 니 다.
부족 한 경우 ActiveMQ 는 사용 하 는 Message Store 에 따라 어떤 종류의 Message Cursors 를 사용 할 지 결정 하지만 destination 에 따라 Message Cursors 를 설정 할 수 있 습 니 다.
topic 에 사용 할 수 있 는 pending Subscriber Policy 는 vmCursor 와 fileCursor 가 있 습 니 다.사용 가능 한 Pending Durable Subscriber Message Storage Policy 는
vm Durable Cursor 와 file Durable Subscriber Cursor;queue 에 사용 할 수 있 는 pendingQueuePolicy 는 vmQueueCursor 와 fileQueueCursor 가 있 습 니 다.
Message Cursors 사용 참고:http://activemq.apache.org/message-cursors.html
2. 저장 설정
메모리, 디스크 에 저 장 된 메시지 의 크기 를 설정 합 니 다. 설정 은 다음 과 같 습 니 다.
<systemUsage>
<systemUsage>
<memoryUsage>
<memoryUsage limit="20 mb"/>
</memoryUsage>
<storeUsage>
<storeUsage limit="1 gb"/>
</storeUsage>
<tempUsage>
<tempUsage limit="100 mb"/>
</tempUsage>
</systemUsage>
</systemUsage>
memory Usage 는 ActiveMQ 가 사용 하 는 메모 리 를 표시 합 니 다. 이 값 은 destinationPolicy 에 설 치 된 모든 대기 열 메모리 의 합 보다 큽 니 다.
store Usage 는 저장 파일 의 크기 를 영구적 으로 표시 합 니 다.
temptUsage 는 비 지구 화 메시지 저장 의 임시 메모리 크기 를 표시 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Is Eclipse IDE dying?In 2014 the Eclipse IDE is the leading development environment for Java with a market share of approximately 65%. but ac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.