WLM 동적 메모리 할당 - Amazon Redshift

WLM 동적 메모리 할당

WLM은 각 대기열마다 동시성 레벨에 맞춰 다수의 쿼리 슬롯을 생성합니다. 쿼리 슬롯에 할당되는 메모리 크기는 슬롯 수를 기준으로 분할된 대기열에 할당되는 메모리 비율과 동일합니다. 메모리 할당 또는 동시성을 변경하면 Amazon Redshift가 새로운 WLM 구성으로의 전환을 동적으로 관리합니다. 따라서 활성 쿼리가 현재 할당된 메모리 양을 사용하여 완료될 때까지 실행될 수 있습니다. 동시에 Amazon Redshift는 총 메모리 사용량이 사용 가능한 메모리의 100%를 초과하지 않도록 합니다.

워크로드 관리자는 다음과 같은 프로세스에 따라 구성 전환을 관리합니다.

  1. WLM이 새로운 쿼리 슬롯마다 메모리 할당을 재계산합니다.

  2. 실행 중인 쿼리에서 사용하지 않는 쿼리 슬롯이 있으면 WLM이 슬롯을 제거하여 새로운 슬롯에서 해당 메모리를 사용할 수 있게 합니다.

  3. 쿼리 슬롯이 현재 사용 중일 경우에는 쿼리가 끝날 때까지 WLM이 대기합니다.

  4. 현재 실행 중인 쿼리가 종료되면 빈 슬롯은 제거되고 할당된 메모리도 해제됩니다.

  5. 슬롯을 하나 이상 추가할 정도로 메모리가 충분하다면 새로운 슬롯이 추가됩니다.

  6. 변경 시점에 실행 중이던 쿼리가 모두 종료되면 슬롯 수가 새로운 동시성 레벨과 동일해지면서 새로운 WLM 구성 전환이 완료됩니다.

실제로 변경 시 실행 중인 쿼리는 계속해서 원래 메모리 할당을 사용합니다. 변경 시 대기열에서 대기 중인 쿼리는 실행할 때가 되면 새로운 슬롯으로 라우팅됩니다.

전환 프로세스 도중 WLM 동적 속성이 변경되면 WLM이 현재 상태부터 즉시 새로운 구성 전환을 시작합니다. 전환 상태를 보려면 STV_WLM_SERVICE_CLASS_CONFIG 시스템 테이블에 대한 쿼리를 실행하십시오.