워크로드 관리 구현 - Amazon Redshift

워크로드 관리 구현

워크로드 관리(WLM)를 사용하여 다수의 쿼리 대기열을 정의한 후 실행 시간에 쿼리를 적합한 대기열로 라우팅할 수 있습니다.

경우에 따라 다수의 세션 또는 사용자가 동시에 쿼리를 실행할 수도 있습니다. 이러한 경우 쿼리가 장시간 클러스터 리소스를 소비하여 다른 쿼리의 성능에 영향을 미칠 수 있습니다. 예를 들어 한 사용자 그룹이 장시간 다수의 대용량 테이블에서 행을 선택하여 정렬하는 등 종종 복잡한 쿼리를 실행하여 제출한다고 가정하겠습니다. 다른 그룹은 한두 테이블에서 소수의 행을 선택하여 몇 초면 끝나는 짧은 쿼리를 반복적으로 제출합니다. 이러한 상황에서는 짧은 쿼리지만 장시간 실행되는 쿼리가 끝날 때까지 대기열에서 기다려야 하는 경우가 발생합니다. WLM은 이러한 상황을 관리하는 데 도움이 됩니다.

자동 WLM 또는 수동 WLM으로 실행되도록 Amazon Redshift WLM을 구성할 수 있습니다.

자동 WLM

시스템 처리량을 극대화하고 리소스를 효율적으로 사용하려면 Amazon Redshift가 자동 WLM을 통해 동시 쿼리를 실행하기 위해 리소스를 나누는 방법을 관리하게 할 수 있습니다. 자동 WLM는 쿼리를 실행하는 데 필요한 리소스를 관리합니다. Amazon Redshift는 동시에 실행되는 쿼리의 수와 디스패치된 각 쿼리에 할당되는 메모리의 양을 결정합니다. Amazon Redshift 콘솔에서 [WLM 모드 전환(Switch WLM mode)]을 선택한 후 [자동 WLM(Auto WLM)]을 선택하여 자동 WLM을 사용할 수 있습니다. 그러면 최대 8개의 대기열이 쿼리를 관리하는 데 사용되고, 메모리Concurrency on main(기본의 동시성) 필드가 모두 Auto(자동)로 설정됩니다. 각 대기열에 매핑되는 워크로드 또는 사용자의 비즈니스 우선 순위를 반영하는 우선 순위를 지정할 수 있습니다. 쿼리의 기본 우선 순위는 Normal(정상)으로 설정됩니다. 대기열에 있는 쿼리의 우선 순위를 변경하는 방법에 대한 자세한 내용은 쿼리 우선 순위 섹션을 참조하세요. 자세한 내용은 자동 WLM 구현 단원을 참조하십시오.

실행 시간에 쿼리를 사용자 그룹 또는 쿼리 그룹에 따라 이 대기열로 라우팅할 수 있습니다. 장기 실행 쿼리를 제한하기 위해 QMR(쿼리 모니터링 규칙)을 구성할 수도 있습니다.

동시성 확장과 자동 WLM을 사용하면 일관되게 빠른 쿼리 성능으로 동시 사용자 및 동시 쿼리를 사실상 무제한 지원할 수 있습니다. 자세한 내용은 동시성 확장 작업 단원을 참조하십시오.

참고

파라미터 그룹을 생성하고 자동 WLM을 선택하여 쿼리 리소스를 관리하는 것이 좋습니다. 수동 WLM에서 자동 WLM으로 마이그레이션하는 방법에 대한 자세한 내용은 수동 WLM에서 자동 WLM으로 마이그레이션 섹션을 참조하세요.

수동 WLM

WLM 구성을 수정하여 장시간 실행되는 쿼리와 단시간 실행되는 쿼리의 대기열을 서로 분리하여 생성함으로써 시스템 성능과 사용자 경험을 관리할 수도 있습니다. 실행 시간에 쿼리를 사용자 그룹 또는 쿼리 그룹에 따라 이 대기열로 라우팅할 수 있습니다. Amazon Redshift 콘솔에서 [수동 WLM(Manual WLM)]으로 전환하여 이 수동 구성을 사용 설정할 수 있습니다. 그런 다음 쿼리를 관리하는 데 사용되는 대기열과, Memory(메모리)Concurrency on main(기본의 동시성) 필드 값을 지정합니다. 수동 구성에서는 쿼리 대기열을 최대 8개까지 구성하고, 각 대기열에서 동시에 실행할 수 있는 쿼리 수를 설정할 수 있습니다.

쿼리를 특정 대기열로 라우팅하는 규칙은 쿼리를 실행하는 사용자나 지정하는 레이블을 기준으로 설정할 수 있습니다. 또한 각 대기열에 할당되는 메모리 크기도 구성이 가능합니다. 따라서 대용량 쿼리를 실행하는 대기열에는 다른 대기열보다 많은 메모리를 할당하는 것이 좋습니다. 장기 실행 쿼리를 제한하기 위해 QMR(쿼리 모니터링 규칙)을 구성할 수도 있습니다. 자세한 내용은 수동 WLM 구현 단원을 참조하십시오.

참고

총 15개 이하의 쿼리 슬롯이 있는 수동 WLM 쿼리 대기열을 구성하는 것이 좋습니다. 자세한 내용은 동시성 레벨 단원을 참조하십시오.

WLM 대기열 제한

수동 WLM 구성과 관련하여 대기열에 할당할 수 있는 최대 슬롯은 50개라는 점에 유의하세요. 그러나 이는 자동 WLM 구성에서 Amazon Redshift 클러스터가 항상 50개의 쿼리를 동시에 실행한다는 의미는 아닙니다. 이는 클러스터의 메모리 요구 사항이나 기타 유형의 리소스 할당에 따라 변경될 수 있습니다.

자동 WLM 및 수동 WLM 사용 사례

동시 쿼리를 실행하기 위해 리소스가 분할되는 방식을 Amazon Redshift가 관리하도록 하려면 자동 WLM을 사용하세요. 자동 WLM을 사용하면 수동 WLM보다 처리량이 더 높은 경우가 많습니다. 자동 WLM으로 대기열에 있는 워크로드의 쿼리 우선 순위를 정의할 수 있습니다. 쿼리 우선 순위에 대한 자세한 내용은 쿼리 우선 순위 섹션을 참조하세요.

동시성을 보다 세밀하게 제어하려면 수동 WLM을 사용하세요.