![[z/OS]](ngzos.gif)
IBM MQ for z/OS 용 버퍼 및 버퍼 풀
IBM® MQ for z/OS® 는 버퍼 및 버퍼 풀을 사용하여 데이터를 임시로 캐시합니다. 버퍼가 구성되고 사용되는 방식을 자세히 이해하는 데 이 토픽을 사용하십시오.
효율성을 위해 IBM MQ 는 메시지 (및 오브젝트 정의) 가 DASD의 페이지 세트에 저장되기 전에 버퍼에 임시로 저장되는 캐싱 양식을 사용합니다. 단기간 메시지, 즉, 수신한 후 잠시 큐에서 검색되는 메시지는 버퍼에 계속 저장될 수 있습니다. 이 캐싱 활동은 IBM MQ의 컴포넌트인 버퍼 관리자에 의해 제어됩니다.
버퍼는 버퍼 풀로 구성됩니다. 각 큐 관리자에 대해 최대 100개(0 - 99)까지 버퍼 풀을 정의할 수 있습니다.
그림 1에 설명된 오브젝트 및 메시지 유형 분리와 일치하는 최소한의 버퍼 풀 및 애플리케이션의 데이터 격리 요구사항을 사용하는 것이 좋습니다. 각 버퍼 길이는 4KB입니다. 버퍼 풀은 이 모드에서 기본적으로 31비트 스토리지를 사용하며, 최대 버퍼 수는 큐 관리자 주소 공간에서 사용 가능한 31비트 스토리지 크기로 판별됩니다. 버퍼에 대해 약 70%를 초과하여 사용하지 마십시오. 또는 64비트스토리지에서 버퍼 풀 스토리지를 할당할 수 있습니다 ( DEFINE BUFFPOOL 명령의 LOCATION 속성 사용). 64비트 스토리지가 사용되도록 LOCATION(ABOVE)를 사용하는 데는 두 가지 이점이 있습니다. 첫째는 버퍼 풀이 훨씬 커질 수 있도록 훨씬 많은 64비트 스토리지를 사용할 수 있다는 점이고 둘째는 31비트 스토리지를 다른 기능에 의해 사용 가능하다는 점입니다. 일반적으로 버퍼가 많을수록 버퍼링이 효율적이고 IBM MQ의 성능이 향상됩니다.

ALTER BUFFPOOL 명령을 사용하여 버퍼 풀 크기 및 위치를 수정하는 명령을 동적으로 실행할 수 있습니다. 페이지 세트는 DEFINE PSID 명령을 사용하여 동적으로 추가하거나 DELETE PSID 명령을 사용하여 삭제할 수 있습니다.
버퍼 풀이 너무 작으면 IBM MQ 가 CSQP020E메시지를 발행합니다. 그런 다음 관련된 버퍼 풀에 버퍼를 동적으로 더 추가할 수 있습니다(이를 수행하기 위해 다른 버퍼 풀에서 버퍼를 제거해야 할 수도 있음).
DEFINE BUFFPOOL 명령으로 풀의 버퍼 수를 지정하며, ALTER BUFFPOOL 명령으로 버퍼 풀의 크기를 동적으로 조정할 수 있습니다. DISPLAY USAGE 명령을 사용하여 버퍼 풀을 사용하는 페이지 세트를 표시함으로써 동적으로 풀에 있는 현재 버퍼 수를 판별합니다.
성능상의 이유로 동일한 버퍼 풀에 메시지 및 오브젝트 정의를 넣지 마십시오. 오브젝트 정의를 보관하는 페이지 세트 0에 대해 독점적으로 하나의 버퍼 풀(번호 0)을 사용하십시오. 마찬가지로 단기간 메시지와 장기간 메시지를 다른 버퍼 풀, 결과적으로 다른 페이지 세트와 다른 큐에 보관하십시오.
새 버퍼 풀을 작성하기 위해 재시작한 후에는 DEFINE BUFFPOOL 명령을 사용할 수 없습니다. 그 대신에 DEFINE PSID 명령이 DSN 키워드를 사용하는 경우에 이는 현재 정의되지 않은 버퍼 풀을 명시적으로 식별할 수 있습니다. 해당 새 버퍼 풀이 작성됩니다.