다음을 통해 공유


Windows Server 분산 전원 계획을 위한 PPM(프로세서 전원 관리) 튜닝

Windows Server 2008 버전부터 Windows Server는 분산, 고성능, 절전이라는 세 가지 전원 계획을 제공합니다. 분산 전원 계획은 일반적인 서버 워크로드 집합에 최상의 에너지 효율을 제공하는 것을 목표로 하는 기본 선택안입니다. 이 항목에서는 지난 여러 Windows 릴리스의 분산 스키마에 대한 기본 설정을 결정하는 데 사용된 워크로드에 대해 설명합니다.

이러한 워크로드와 크게 다른 워크로드 특성 또는 성능 및 전원 요구 사항이 있는 서버 시스템을 실행하는 경우, 기본 전원 설정의 튜닝(즉, 사용자 지정 전원 계획 생성)을 고려하고자 할 수 있습니다. 유용한 튜닝 정보의 한 가지 원인은 서버 하드웨어 전원 고려 사항입니다. 또는 고성능 전원 계획이 사용자 환경에 적합한 선택이라고 판단하여 어느 정도의 응답성을 높이는 대신 상당한 에너지를 사용할 가능성이 있음을 인식할 수 있습니다.

Important

사용자 지정 정책을 만들어야 하는 특정한 필요성이 없고 워크로드의 특성에 따라 결과가 달라질 수 있다는 점을 인지하지 않으면 Windows Server에 포함된 전원 정책을 활용해야 합니다.

Windows 프로세서 전원 튜닝 방법론

테스트된 워크로드

워크로드는 최상의 '일반적인' Windows Server 워크로드 집합을 포함하도록 선택됩니다. 분명히 이 집합은 실제 서버 환경의 전체 범위를 대표하는 용도가 아닙니다.

각 전원 정책의 튜닝은 Windows Server 2008에서 시작된 다음 5개의 워크로드로 구동되는 데이터입니다.

  • IIS 웹 서버 워크로드

    웹 기본 사항이라는 Microsoft 내부 벤치마크는 IIS 웹 서버를 실행하는 플랫폼의 에너지 효율을 최적화하는 데 사용됩니다. 설정에는 웹 서버와 웹 액세스 트래픽을 시뮬레이션하는 여러 클라이언트가 포함되어 있습니다. 동적, 정적 핫(메모리 내) 및 정적 콜드(디스크 액세스 필요) 웹 페이지의 배포는 생산 서버의 통계 연구를 기반으로 합니다. 서버의 CPU 코어를 전체 활용(테스트된 스펙트럼의 한쪽 끝)으로 푸시하려면 설치에 충분한 빠른 네트워크 및 디스크 리소스가 필요합니다.

  • SQL Server 데이터베이스 워크로드

    TPC-E 벤치마크는 데이터베이스 성능 분석의 유명한 벤치마크입니다. PPM 튜닝 최적화를 위한 OLTP 워크로드를 생성하기 위해 사용됩니다. 이 워크로드에는 상당한 디스크 I/O가 있으므로 스토리지 시스템 및 메모리 크기에 대한 고성능 요구 사항이 있습니다.

  • 파일 서버 워크로드

    FSCT라는 Microsoft에서 개발한 벤치마크는 SMB 파일 서버 워크로드를 생성하는 데 사용됩니다. 서버에 큰 파일 집합을 만들고 많은 클라이언트 시스템(실제 또는 가상화)을 사용하여 파일 열기, 닫기, 읽기, 쓰기 작업을 생성합니다. 작업 조합은 생산 서버의 통계 연구를 기반으로 합니다. CPU, 디스크, 네트워크 리소스를 강조합니다.

  • SPECpower – JAVA 워크로드

    SPECpower_ssj2008은 전원 및 성능 특성을 공동으로 평가하는 최초의 업계 표준 SPEC 벤치마크입니다. CPU 부하 수준이 다양한 서버 쪽 Java 워크로드입니다. 많은 디스크 또는 네트워크 리소스가 필요하지는 않지만 메모리 Bandwidth에 대한 특정 요구 사항이 있습니다. 거의 모든 CPU 작업은 사용자 모드에서 수행됩니다. 커널 모드 활동은 전원 관리 결정을 제외하고 벤치마크의 전원 및 성능 특성에 큰 영향을 주지 않습니다.

  • Application Server 워크로드

    SAP-SD 벤치마크는 애플리케이션 서버 워크로드를 생성하는 데 사용됩니다. 데이터베이스와 애플리케이션 서버가 동일한 서버 호스트에 있는 2계층 설정이 사용됩니다. 이 워크로드는 또한 응답 시간을 다른 테스트된 워크로드와 다른 성능 메트릭으로 활용합니다. 따라서 PPM 매개 변수가 응답성에 미치는 영향을 확인하는 데 사용됩니다. 그럼에도 불구하고 대기 시간에 민감한 모든 생산 워크로드를 대표하기 위한 것은 아닙니다.

SPECpower를 제외한 모든 벤치마크는 원래 성능 분석을 위해 설계되었으므로 최고 부하 수준에서 실행되도록 생성되었습니다. 그러나 중형에서 경량의 부하 수준은 실제 생산 서버에서 더 일반적이며 분산 계획 최적화에 더 흥미롭습니다. 다양한 제한 방법(예: 활성 사용자/클라이언트 수를 줄임)을 사용하여 100%에서 10%(10% 단계)까지 다양한 부하 수준에서 벤치마크를 의도적으로 실행합니다.

위의 워크로드는 처리량을 튜닝을 위한 성능 메트릭으로 사용합니다. 안정적인 상태인 동안 처리량은 시스템이 오버로드될 때까지 다양한 사용률로 변경되지 않습니다(~100% 활용). 그 결과, 분산 전원 계획에서는 프로세서 주파수를 최소화하고 활용을 최대화하여 전력이 선호됩니다. Windows Server 2016 버전부터 빠른 응답 시간의 요구 사항이 크게 증가했습니다. Microsoft에서는 빠른 응답 시간이 필요할 때 사용자에게 고성능 전원 요금제로 전환할 것을 제안했지만, 일부 사용자는 가벼운 부하 수준부터 중간 부하 수준까지 전원 혜택을 잃고 싶어하지 않습니다. 그래서 Windows Server PPM 튜닝에는 튜닝을 위한 응답 시간 중요 워크로드도 포함됩니다.

  • GeekBench 3

    GeekBench 3은 단일 코어 및 다중 코어 성능에 대한 점수를 구분하는 플랫폼 간 프로세서 벤치마크입니다. 정수 워크로드(암호화, 압축, 이미지 처리 등), 부동 소수점 워크로드(모델링, 프랙탈, 이미지 선명화, 이미지 흐림 등), 메모리 워크로드(스트리밍)를 포함한 워크로드 집합을 시뮬레이션합니다.

    응답 시간은 점수 계산의 주요 측정값입니다. 테스트된 시스템에서 Windows Server 2008 기본 분산 전원 계획은 고성능 전원 계획에 비해 단일 코어 테스트에서 ~18% 회귀되고 다중 코어 테스트에서는 ~40% 회귀됩니다. Windows Server 2016은 이러한 회귀를 제거합니다.

  • DiskSpd

    Diskspd는 Microsoft에서 개발한 스토리지 벤치마킹용 명령줄 도구입니다. 이는 스토리지 성능 분석을 위해 스토리지 시스템에 대한 다양한 요청을 생성하는 데 널리 사용됩니다.

    [장애 조치 클러스터]를 설정하고 Diskspd를 사용하여 임의 및 순차 생성하고 IO 크기가 다른 로컬 및 원격 스토리지 시스템에 IO를 읽고 씁니다. 테스트 결과에 따르면 IO 응답 시간은 다양한 전원 계획의 프로세서 빈도에 민감합니다. 기본 Windows Server 2008 분산 전원 계획은 특정 워크로드의 고성능 전원 계획에서 응답 시간을 두 배로 늘릴 수 있습니다. Windows Server 2016 Balance 전원 계획은 대부분의 회귀를 제거합니다.

Important

Windows Server 2016을 실행하는 Intel [Broadwell] 프로세서부터 대부분의 프로세서 전원 관리 결정은 OS 수준 대신 프로세서에서 이루어지므로 워크로드 변경에 더 빠르게 적응할 수 있습니다. OS에서 사용하는 레거시 PPM 매개 변수는 프로세서가 전원 또는 성능을 선호해야 하는지 여부를 알리거나 최소 및 최대 빈도를 제한하는 것을 제외하고 실제 빈도 결정에 최소한의 영향을 미칩니다. 따라서 여기에 언급된 PPM 튜닝 결과는 Broadwell 이전 시스템에서만 관찰됩니다.

하드웨어 구성

Windows의 각 릴리스에서 최신 생산 서버는 전원 계획 분석 및 최적화 프로세스에 사용됩니다. 경우에 따라 릴리스 일정이 다음 Windows 릴리스와 일치하는 사전 생산 시스템에서 테스트가 수행되었습니다.

대부분의 서버가 1~4개의 프로세서 소켓으로 판매되고, 강화 서버가 에너지 효율을 주요 관심사로 둘 가능성이 적기 때문에 전원 계획 최적화 테스트는 주로 2소켓 및 4소켓 시스템에서 실행됩니다. 각 테스트에 대한 RAM, 디스크, 네트워크 리소스의 양은 구성을 합리적으로 유지하는 것과 같이 실제 서버 환경에 일반적으로 적용되는 비용 제한을 고려하면서 각 시스템이 전체 용량까지 실행할 수 있도록 선택됩니다.

Important

시스템이 최고 부하에서 실행될 수 있더라도 일반적으로 최고 부하 수준에서 일관되게 실행되는 서버는 에너지 효율이 높은 경우가 아니면 고성능 전원 계획을 사용하는 것이 좋습니다.

메트릭

테스트된 모든 벤치마크는 처리량을 성능 메트릭으로 사용합니다. 응답 시간은 이러한 워크로드에 대한 SLA 요구 사항으로 간주됩니다(기본 메트릭인 SAP 제외). 예를 들어 평균 또는 최대 응답 시간이 특정 값보다 작은 경우 벤치마크 실행은 '유효한' 것으로 간주됩니다.

따라서 PPM 튜닝 분석은 처리량을 성능 메트릭으로 사용합니다. 최고 부하 수준(100% CPU 사용률)에서 목표는 전원 관리 최적화로 인해 처리량이 몇 퍼센트 이상 감소하지 않아야 한다는 것입니다. 그러나 주요 고려 사항은 중간 및 낮은 부하 수준에서 전력 효율을 최대화하는 것입니다(아래 정의된 대로).

전력 효율성 수식

낮은 주파수에서 CPU 코어를 실행하면 에너지 소비가 감소합니다. 그러나 빈도가 낮으면 일반적으로 처리량을 줄이고 응답 시간을 늘어납니다. 분산 전원 계획의 경우 응답성과 전력 효율성에 대한 의도적인 절충이 있습니다. SAP 워크로드 테스트와 다른 워크로드의 응답 시간 SLA는 이러한 특정 워크로드에 대한 응답 시간 증가가 특정 임계값(예: 5%)을 초과하지 않는지 확인합니다.

참고 항목

워크로드가 응답 시간에 매우 중요한 경우 시스템은 고성능 전원 계획으로 전환하거나 분산 전원 계획을 변경하여 실행 시 빈도를 매우 적극적으로 늘려야 합니다.

Windows Server 분산 전원 계획 기본 매개 변수

Windows Server 2016을 실행하는 Intel Broadwell 프로세서부터 Windows Server 전원 관리는 Intel 시스템의 기본값으로 Intel의 HWP(하드웨어 제어 P-State)를 사용합니다. HWP는 협력 하드웨어 및 소프트웨어 성능 제어를 위한 새로운 기능입니다. HWP를 사용하도록 설정하면 CPU가 활동 및 확장성을 모니터링하고 하드웨어 시간 척도에서 빈도를 선택합니다. OS는 더 이상 활동을 모니터링하고 주기적으로 빈도를 선택하지 않아도 됩니다. HWP로 전환하면 빠른 응답, TDP에서 프로세서 및 기타 구성 요소의 하드웨어 전력 효율성에 대한 더 나은 지식 등의 몇 가지 이점이 있습니다.

HWP 시스템의 경우 Windows에는 제약 조건을 제공하기 위해 최소 및 최대 프로세서 상태를 설정하는 옵션이 있습니다. EPP(에너지 성능 기본 설정) 매개 변수를 사용하여 전력과 성능 간의 균형을 설정할 수도 있습니다. 값이 낮을수록 성능이 향상되고 값이 높을수록 전력이 선호됩니다. 전력과 성능의 균형을 맞추는 기본값은 50입니다.

매개 변수 Windows Server 2012R2 이하 버전 Windows Server 2016 이상 버전
HWP 사용 해당 없음 Intel Broadwell+
에너지 성능 기본 설정 해당 없음 50

Intel Pre-Broadwell 시스템 또는 HWP 지원(예: AMD 서버)이 없는 시스템의 경우 Windows는 모든 권한을 갖고 있으며 PPM 매개 변수에 따라 프로세서 빈도를 결정합니다. Windows Server 2012R2의 기본 PPM 매개 변수는 특히 버스트 워크로드의 성능에 큰 영향을 미칠 수 있는 전력이 너무 많습니다. Windows Server 2016 RS2에서는 4개의 PPM 매개 변수가 변경되어 중간 부하 수준에서 빈도가 더 빠르게 증가합니다.

매개 변수 Windows Server 2016(RS1) 이하 버전 Windows Server 2016(RS2) 이상 버전
프로세서 성능 향상 임계값 90 60
프로세서 성능 저하 임계값 80 40
프로세서 성능 향상 시간 3 1
프로세서 성능 향상 정책 Single 적합함

CPU 사용률 기반 전원 관리 알고리즘은 IO 또는 네트워크 집약적 워크로드의 대기 시간을 저하할 수 있습니다. IO 완료 또는 네트워크 패킷을 기다리는 동안 논리 프로세서가 유휴 상태일 수 있으므로 전체 CPU 사용률이 줄어듭니다. 이 문제를 해결하기 위해 Windows Server 2019은 IO 응답 기간을 자동 검색하고 빈도 층을 더 높은 수준으로 높입니다. 시스템에서 HWP를 사용하는지 여부에 관계없이 다음 매개 변수로 동작을 조정할 수 있습니다.

매개 변수 Windows Server 2019 이전 버전 Windows Server 2019 이상 버전
프로세서 응답성 재정의의 임계값 활성화 해당 없음 10
프로세서 응답성 재정의의 임계값 비활성화 해당 없음 5
프로세서 응답성 재정의 활성화 시간 해당 없음 1
프로세서 응답성 재정의 비활성화 시간 해당 없음 3
프로세서 응답성이 에너지 성능 기본 설정 상한 재정의 해당 없음 100
프로세서 응답성 재정의 성능 층 해당 없음 100

사용자 지정 튜닝 제안

기본 분산 전원 계획 PPM 튜닝에 사용되는 5개의 워크로드와 기본 워크로드 특성이 크게 다른 경우 하나 이상의 PPM 매개 변수를 변경하여 환경에 가장 적합한 항목을 찾아 실험할 수 있습니다.

매개 변수의 수와 복잡성으로 인해 어려운 작업이 될 수 있지만 특정 환경에 대한 에너지 소비와 워크로드 효율성 간의 최상의 절충안을 찾고 있다면 노력할 만한 가치가 있을 수 있습니다.

튜닝 가능한 PPM 매개 변수의 전체 집합은 프로세서 전원 관리 튜닝에서 찾을 수 있습니다. 시작하는 가장 간단한 전원 매개 변수 중 일부는 다음과 같습니다.

HWP 사용 시스템의 경우:

  • 에너지 성능 기본 설정 – 값이 클 수록 성능보다 더 많은 전력을 선호합니다.

비 HWP 시스템의 경우:

  • 프로세서 성능 향상 임계값 및 프로세서 성능 증가 시간 – 값이 클수록 성능 응답 속도가 느려지고 활동 증가

  • 프로세서 성능 저하 임계값 – 값이 클수록 유휴 기간에 대한 전원 응답이 빨라집니다.

  • 프로세서 성능 저하 시간 – 유휴 기간 동안 값이 클수록 성능이 점차 감소합니다.

  • 프로세서 성능 향상 정책 - '단일' 정책은 향상 및 지속되는 활동의 경우 성능 응답을 느리게 합니다. '로켓' 정책은 활동 증가에 빠르게 반응합니다.

  • 프로세서 성능 저하 정책 - '단일' 정책은 더 긴 유휴 기간 동안 성능을 점점 감소시킵니다. '로켓' 정책은 유휴 기간에 매우 빠르게 전원을 저하시킵니다.

Important

실험 시작 전 워크로드를 이해해야 합니다. 그러면 올바른 PPM 매개 변수를 선택하고 튜닝 작업을 줄이는 데 도움이 됩니다.

높은 수준의 성능 및 전원 요구 사항 이해

워크로드가 '실시간'(예: 결함 또는 기타 눈에 보이는 최종 사용자 영향에 취약함)이거나 응답성 요구 사항(예: 주식 브로커)이 매우 엄격한 경우 에너지 소비가 환경의 기본 기준이 아닌 경우, 고성능 전원 계획으로 전환해야 할 수 있습니다. 그렇지 않으면 워크로드의 응답 시간 요구 사항을 이해하고 PPM 매개 변수를 조정하여 이러한 요구 사항을 충족하는 최상의 전력 효율성을 유지해야 합니다.

기본 워크로드 특성 이해

워크로드를 알고 튜닝을 위한 실험 매개 변수 집합을 설계해야 합니다. 예를 들어 CPU 코어의 빈도를 빠르게 늘려야 하는 경우(유휴 기간이 상당한 버스트 워크로드가 있지만 새 트랜잭션이 제공될 때 매우 빠른 응답성이 필요함) 프로세서 성능 향상 정책을 '로켓'으로 설정해야 할 수 있습니다(이름에서 알 수 있듯이 CPU 코어 빈도를 일정 기간 동안 증가시키는 대신 최댓값으로 높일 수 있음).

워크로드가 매우 버스트되는 경우, PPM 검사 간격을 줄여 버스트 도착 후 CPU 빈도가 더 빨리 상승하기 시작할 수 있습니다. 워크로드에 높은 스레드 동시성이 없는 경우, 코어 파킹을 사용하도록 설정하여 더 적은 수의 코어에서 워크로드를 강제 실행하도록 할 수 있으며, 이로 인해 프로세서 캐시 적중률도 향상될 수 있습니다.

중간 사용률 수준(즉, 가벼운 워크로드 수준이 아님)에서 CPU 주파수를 늘리려는 경우, 특정 수준의 활동이 관찰될 때까지 반응하지 않도록 프로세서 성능 증가/감소 임계값을 조정할 수 있습니다.

정기적인 동작 이해

주간과 야간 또는 주말에 따라 성능 요구 사항이 다르거나, 시간에 따라 실행되는 워크로드가 다를 수 있습니다. 이 경우 하나의 PPM 매개 변수 집합이 모든 기간에 최적이 아닐 수 있습니다. 여러 사용자 지정 전원 계획을 고안할 수 있으므로 스크립트 또는 동적 시스템 구성의 다른 수단을 통해 다양한 기간 동안 조정하고 전원 계획 간에 전환할 수도 있습니다.

이렇게 하면 최적화 프로세스의 복잡성이 커지므로 이러한 유형의 튜닝에서 얻을 수 있는 값이 얼마인지에 대한 문제가 되며, 중요한 하드웨어 업그레이드 또는 워크로드 변경이 있을 때 반복해야 할 수 있습니다.

대부분의 경우 특정 서버의 특정 워크로드에 대해 직접 튜닝할 가치가 없기 때문에 Windows가 처음에 분산 전원 계획을 제공하는 이유입니다.

참고 항목