19장. 튜닝 지침
AMQ 브로커를 튜닝하려면 다음 지침을 검토하십시오.
19.1. 지속성 튜닝
지속성 성능 개선에 대한 팁은 다음 정보를 검토하십시오.
파일 기반 저널에 메시지를 저장합니다.
메시지 지속성을 위해 파일 기반 저널을 사용합니다. AMQ Broker는 JDBC(Java Database Connectivity) 데이터베이스에도 메시지를 유지할 수 있지만 파일 기반 저널 사용과 비교하여 성능 비용이 발생합니다.
메시지 저널을 자체 물리 볼륨에 배치합니다.
추가 전용 저널의 이점 중 하나는 디스크 헤드 이동이 최소화된다는 것입니다. 디스크가 공유되면 이 이점이 손실됩니다. 트랜잭션 코디네이터, 데이터베이스 및 기타 저널과 같은 여러 프로세스가 동일한 디스크에서 읽고 쓰는 경우 디스크 헤드가 다른 파일 간에 건너뛰어야 하므로 성능에 영향을 미칩니다. 페이징 또는 큰 메시지를 사용하는 경우 별도의 볼륨에도 배치되었는지 확인합니다.
journal-min-files
매개변수 값을 조정합니다.journal-min-files
매개변수를 평균 지속 가능한 비율에 맞는 파일 수로 설정합니다. 저널 데이터 디렉터리에 새 파일이 자주 생성되는 경우 많은 데이터가 유지되므로 저널에서 유지 관리하는 최소 파일 수를 늘려야 합니다. 이를 통해 저널은 새 데이터 파일을 생성하지 않고 재사용할 수 있습니다.저널 파일 크기를 최적화합니다.
journal-file-size
매개변수의 값을 디스크의 용량에 맞춥니다. 10MB의 기본값은 대부분의 시스템에서 충분해야 합니다.비동기 IO(AIO) 저널 유형을 사용합니다.
Linux 운영 체제의 경우 저널 유형을 AIO로 유지합니다. AIO는 Java new I/O(NIO)보다 확장성이 향상됩니다.
journal-buffer-timeout
매개변수 값을 조정합니다.journal-buffer-timeout
매개변수의 값을 늘리면 대기 시간이 지남에 따라 처리량이 증가합니다.journal-max-io
매개변수 값을 조정합니다.AIO를 사용하는 경우
journal-max-io
매개변수 값을 늘려 성능을 향상시킬 수 있습니다. NIO를 사용하는 경우 이 값을 변경하지 마십시오.journal-pool-files
매개변수를 조정합니다.저널 파일 풀의 상위 임계값인
journal-pool-files
매개변수를 예상 최대 로드에 가까운 숫자로 설정합니다. 필요한 경우 저널은 상위 임계값을 초과하지만 가능한 경우 임계값으로 축소됩니다. 이렇게 하면 필요한 것보다 많은 디스크 공간을 소비하지 않고 파일을 재사용할 수 있습니다. 저널 데이터 디렉토리에 새 파일이 너무 자주 생성되는 경우journal-pool-size
매개변수를 늘립니다. 이 매개변수를 늘리면 저널이 새 파일을 생성하는 대신 더 많은 기존 파일을 재사용할 수 있으므로 성능이 향상됩니다.저널 쓰기 시 지속성 보장이 필요하지 않은 경우
journal-data-sync
매개변수를 비활성화합니다.전원 장애가 발생하는 경우 저널 쓰기에 보장된 지속성이 필요하지 않은 경우
journal-data-sync
매개변수를 비활성화하고 성능을 개선하기 위해 journal 유형NIO
또는MAPPED
를 사용합니다.