11.4. 페이징 모드 구성

주소에 전달된 메시지가 구성된 크기를 초과하면 해당 주소는 페이징 모드로 전환됩니다.

참고

페이징은 주소별로 개별적으로 수행됩니다. 주소에 대해 max-size-bytes 를 구성하면 일치하는 각 주소에 지정된 최대 크기가 있습니다. 그러나 일치하는 모든 주소의 전체 크기가 max-size-bytes 로 제한된다는 것은 아닙니다.

페이지 모드에서도 메모리 부족 오류로 인해 서버가 충돌할 수 있습니다. JBoss EAP 메시징은 디스크의 각 페이지 파일에 대한 참조를 유지합니다. 수백만 개의 페이지 파일이 있는 경우 JBoss EAP 메시징은 메모리 고갈에 직면할 수 있습니다. 이 위험을 최소화하려면 page-size-bytes 속성을 적절한 값으로 설정하는 것이 중요합니다. JBoss EAP 메시징 서버가 대상 수에 max-size-bytes 의 2배를 초과하도록 메모리를 구성해야 합니다. 그러지 않으면 메모리 부족 오류가 발생할 수 있습니다.

다음 관리 CLI 명령을 사용하여 주소의 현재최대 크기(max-size-bytes)를 읽을 수 있습니다.

/subsystem=messaging-activemq/server=default/address-setting=ADDRESS_SETTING:read-attribute(name=max-size-bytes)

다음 관리 CLI 명령을 사용하여 주소의최대 크기(max-size-bytes)를 구성할 수 있습니다.

/subsystem=messaging-activemq/server=default/address-setting=ADDRESS_SETTING:write-attribute(name=max-size-bytes,value=MAX_SIZE)

address 설정의 다른 페이징 관련 속성에 대한 값을 읽거나 쓸 때 유사한 구문을 사용합니다. 아래 테이블에는 설명 및 기본값과 함께 각 속성이 나열되어 있습니다.

다음 표에서는 주소 설정에 대한 매개변수를 설명합니다.

표 11.1. 주소 설정에 대한 페이징 구성

요소설명

address-full-policy

이 속성의 값은 페이징 결정에 사용됩니다. 유효한 값은 아래에 나열되어 있습니다.

PAGE
설정된 제한을 disk로 설정하지 않고 페이징 및 페이지 메시지를 활성화합니다.
DROP
설정된 제한을 초과하는 메시지를 자동으로 삭제합니다.
FAIL
메시지를 삭제하고 클라이언트 메시지 생산자에게 예외를 보냅니다.
블록
설정된 제한을 넘어 메시지를 전송할 때 클라이언트 메시지 생산자를 차단합니다.

기본값은 PAGE 입니다.

max-size-bytes

이는 페이징 모드로 들어가기 전에 주소가 가질 수 있는 최대 메모리 크기를 지정하는 데 사용됩니다. 기본값은 10485760 입니다.

page-max-cache-size

시스템은 페이지 파일을 메모리의 page-max-cache-size 로 유지하여 페이징 탐색 중에 Input/Output을 최적화합니다. 기본값은 5 입니다.

page-size-bytes

이는 페이징 시스템에서 사용되는 각 페이지 파일의 크기를 지정하는 데 사용됩니다. 기본값은 2097152 입니다.

중요

기본적으로 모든 주소는 주소가 max-size-bytes 에 도달한 후 메시지를 페이지하도록 구성됩니다. 최대 크기에 도달했을 때 메시지를 페이징하지 않으려면 메시지를 삭제하거나 클라이언트 측에 예외가 있는 메시지를 삭제하거나 address -full-policy를 DROP,FAIL, BLOCK 각각으로 설정하여 추가 메시지를 전송하지 못하도록 주소를 구성할 수 있습니다.

대상이 메시지를 페이지하기 시작한 후 address-full-policy 를 PAGE 에서 BLOCK 으로 변경하면 소비자가 더 이상 페이지화된 메시지를 사용할 수 없습니다.

여러 대기열이 있는 주소

메시지가 여러 대기열이 바인딩된 주소로 라우팅되면 메모리에 있는 단일 메시지 사본만 있습니다. 각 큐는 이 원래 메시지 복사본에 대한 참조만 처리하므로 원래 메시지를 참조하는 모든 큐가 메시지를 전달한 경우에만 메모리가 확보됩니다.

참고

단일 지연 큐/서브스크립션을 사용하면 모든 큐에 페이징 시스템의 추가 스토리지를 통해 메시지가 전송되므로 전체 주소의 입력/출력 성능이 저하될 수 있습니다.