부록 E. 메시징 저널 구성 요소

아래 표에는 AMQ Broker 메시징 저널과 관련된 모든 구성 요소가 나열되어 있습니다.

표 E.1. 주소 설정 요소

이름설명

journal-directory

메시지 저널이 있는 디렉터리입니다. 기본값은 BROKER_INSTANCE_DIR/data/journal 입니다.

최상의 성능을 위해서는 디스크 헤드 이동을 최소화하기 위해 자체 물리 볼륨에 저널이 있어야 합니다. 저널이 다른 파일(예: 바인딩 저널, 데이터베이스 또는 트랜잭션 코디네이터)을 쓰는 다른 프로세스와 공유되는 볼륨에 있는 경우 디스크 헤드가 이러한 파일을 쓰는 것처럼 빠르게 이동할 수 있으므로 성능이 크게 저하될 수 있습니다.

SAN을 사용하는 경우 각 저널 인스턴스에 자체 LUN(논리 단위)이 지정되어야 합니다.

create-journal-dir

true 로 설정하면 저널 디렉터리가 아직 없는 경우 저널 디렉터리에 지정된 위치에 자동으로 생성됩니다. 기본값은 true입니다.

journal-type

유효한 값은 NIO 또는 ASYNCIO 입니다.

NIO 로 설정하면 브로커는 Java NIO 인터페이스를journal으로 사용합니다. ASYNCIO 로 설정하고 브로커는 Linux 비동기 IO 저널을 사용합니다. ASYNCIO 를 선택했지만 Linux가 실행되고 있지 않거나 libaio가 설치되어 있지 않은 경우 브로커가 이를 감지하고 자동으로 NIO 를 사용하도록 대체합니다.

journal-sync-transactional

true 로 설정하면 브로커는 트랜잭션 경계(즉, 커밋, 준비 및 롤백)에서 모든 트랜잭션 데이터를 디스크로 플러시합니다. 기본값은 true입니다.

journal-sync-non-transactional

true 로 설정하면 브로커가 비트랜잭션 메시지 데이터(sends 및 acknowledgements)를 디스크에 플러시합니다. 기본값은 true입니다.

journal-file-size

각 저널 파일의 크기(바이트)입니다. 기본값은 10485760 바이트(10MiB)입니다.

journal-min-files

브로커가 시작될 때 미리 생성된 최소 파일 수입니다. 파일은 기존 메시지 데이터가 없는 경우에만 미리 생성됩니다.

대기열에서 일정 상태에 포함될 것으로 예상되는 데이터의 양에 따라 예상되는 총 데이터 양과 일치하도록 이 파일 수를 조정해야 합니다.

journal-pool-files

시스템은 필요한 만큼 많은 파일을 생성하지만 파일을 회수할 때 journal-pool-files 로 축소됩니다.

기본값은 -1 이며, 이는 저널의 파일을 생성한 후에는 삭제되지 않습니다. 시스템이 무한하게 증가할 수는 없지만 무기한 증가할 수 있는 대상에 대한 페이징을 계속 사용해야 하므로 시스템이 무한하게 증가할 수 있습니다.

journal-max-io

한 번에 IO 대기열에 있을 수 있는 최대 쓰기 요청 수를 제어합니다. 큐가 가득 차면 쓰기는 공간이 해제될 때까지 차단됩니다.

NIO를 사용할 때 이 값은 항상 1 이어야 합니다. AIO를 사용하는 경우 기본값은 500 입니다. 전체 최대 AIO는 OS 수준(/proc/sys/fs/aio-max-nr)에 설정된 값보다 클 수 없습니다. 이는 일반적으로 65536입니다.

journal-buffer-timeout

버퍼가 플러시될 때의 시간 제한을 제어합니다. AIO는 일반적으로 NIO보다 높은 플러시 속도를 유지할 수 있으므로 시스템은 NIO 및 AIO 둘 다에 대해 다른 기본값을 유지합니다.

NIO의 기본값은 3333333 나노초 또는 초당 300회이며 AIO의 기본값은 50000 나노초 또는 초당 2000회입니다.

참고

시간 제한을 늘리면 처리량과 대기 시간 사이에 적절한 균형을 제공하기 위해 기본값이 선택되므로 대기 시간이 저하되는 경우 시스템 처리량을 늘릴 수 있습니다.

journal-buffer-size

AIO의 시간 버퍼 크기입니다. 기본값은 490KiB 입니다.

journal-compact-min-files

브로커가 저널을 압축하기 전에 필요한 최소 파일 수입니다. 압축 알고리즘은 최소 journal-compact-min-files 가 있을 때까지 시작되지 않습니다. 기본값은 10 입니다.

참고

값을 0 으로 설정하면 압축이 비활성화되고 저널이 무한정 증가할 수 있으므로 위험할 수 있습니다.

journal-compact-percentage

압축을 시작하는 임계값입니다. journal-compact-percentage 가 라이브 데이터로 결정된 경우 저널 데이터는 압축됩니다. 저널에 최소한 journal-compact-min-files 데이터 파일이 있을 때까지 압축은 시작되지 않습니다. 기본값은 30 입니다.