검사 목록: Hyper-V에서 성능 최적화
Hyper-V 가상 머신에 BizTalk Server 데이터베이스가 있는 BizTalk Server 및/또는 SQL Server instance 실행할 때 다음 고려 사항이 적용됩니다.
Hyper-V Virtual Machines CPU 및 디스크 리소스의 110%~125%를 할당합니다.
CPU 리소스의 110%에서 125%, 물리적 하드웨어 솔루션에 필요한 디스크 리소스의 105% ~ 110%를 솔루션에 사용되는 Hyper-V 가상 머신에 할당할 계획입니다. 추가 리소스를 사용하여 Hyper-V 가상 머신을 구성하면 Hyper-V 가상화 기술에 필요한 오버헤드를 수용하면서 물리적 하드웨어와 동등한 성능을 제공할 수 있습니다.
단계 | 참조 |
---|---|
BizTalk Server 솔루션에 대한 하드웨어 요구 사항의 범위를 지정합니다. | - 솔루션에 대한 하드웨어 요구 사항을 scope BizTalk Server 운영 가이드의 "BizTalk Server 환경 계획" 섹션의 지침을 따릅니다. - 솔루션 검토에 필요한 BizTalk 서버의 버전 및 수를 scope BizTalk Server 계층 계획에 설명된 계획 고려 사항을 BizTalk Server. - 솔루션에 필요한 SQL Server 컴퓨터의 버전과 수를 scope 다음 설명서의 데이터베이스 계획 고려 사항을 검토합니다. --- "데이터베이스 계층 계획" "Hyper-V 환경 모범 사례 및 성능 고려 사항에서 SQL Server 2008 실행" 백서의 "Hyper-V에서 SQL Server 실행의 성능 오버헤드" 섹션을 ---. - 개발, 테스트, 스테이징 및 프로덕션 환경에 대한 계획을 완료하려면 "개발, 테스트, 스테이징 및 프로덕션 환경 계획"을 검토합니다. |
BizTalk Server 솔루션의 하드웨어 요구 사항을 scope 후 가능하면 CPU 및 디스크 리소스의 110%-125%로 Hyper-V 컴퓨터를 구성할 계획입니다. | 예를 들어 솔루션에서 사용하는 물리적 BizTalk Server 컴퓨터에 대한 하드웨어 요구 사항이 2GB RAM, 2GHZ에서 실행되는 이중 코어 CPU 및 2x 500GB 물리적 디스크로 결정되면 솔루션에서 사용하는 Hyper-V 가상 머신은 = 2.2GHZ를 실행하는 >2개 이상의 가상 프로세서와 더 빠른 물리적 디스크(일반적으로 스핀들을 추가하거나 더 빠른 디스크를 사용하여)로 구성되는 것이 이상적입니다. |
Hyper-V 성능 최적화
다음 일반 지침을 사용하여 최적의 성능을 위해 Hyper-V를 구성합니다.
단계 | 참조 |
---|---|
성능 튜닝 가상화 서버에 권장 지침을 적용합니다. 참고: 테스트 BizTalk Server 가상화 성능에 설명된 테스트 시나리오의 경우 적용된 구성 옵션은 "물리적 인프라 세부 정보" 및 테스트 시나리오 개요 문서의 "가상화 세부 정보" 섹션에 설명되어 있습니다. |
" Windows Server 2008 R2에 대한 성능 튜닝 지침" 문서의 "가상화 서버에 대한 성능 튜닝" 섹션 |
사용하지 않는 Virtual Machine 연결 창을 닫습니다. | Hyper-V 관리자에서 가상 머신 이름을 두 번 선택하면 Virtual Machine 연결 창이 나타납니다. 이러한 창은 무료로 사용할 수 있는 리소스를 사용합니다. |
Hyper-V 관리자를 닫거나 최소화합니다. | Hyper-V 관리자는 CPU 사용률 및 가동 시간을 위해 실행 중인 각 가상 머신을 지속적으로 폴링하여 리소스를 사용합니다. Hyper-V 관리자를 닫거나 최소화하면 이러한 리소스가 확보됩니다. |
Hyper-V 환경에서 디스크, 메모리, 네트워크 및 프로세서의 성능 최적화
Hyper-V 가상 환경에서 디스크, 메모리, 네트워크 및 프로세서의 성능을 최적화하려면 다음 지침을 사용합니다.
프로세서 성능 최적화
Hyper-V 가상 환경에서 실행되는 게스트 운영 체제의 프로세서 성능을 최적화하려면 다음 지침을 따릅니다.
최상의 성능을 위해 사용 가능한 논리 프로세서에 가상 프로세서의 1대 1 할당을 구성합니다. CPU 집약적 애플리케이션을 실행할 때 가장 좋은 구성은 게스트 운영 체제의 가상 프로세서와 호스트 운영 체제에서 사용할 수 있는 논리 프로세서의 1 대 1 비율입니다. 2:1 또는 1:2와 같은 다른 구성은 효율성이 떨어집니다. 다음 그래픽에서는 호스트 운영 체제에서 사용할 수 있는 논리 프로세서에 게스트 운영 체제의 가상 프로세서 코어를 1대 1로 할당하는 방법을 보여 줍니다.
가상 대 논리 프로세서 비율
다양한 게스트 운영 체제에 대한 가상 프로세서 제한에 유의하고 그에 따라 계획 합니다. Hyper-V 가상 머신에서 실행되는 게스트 운영 체제에서 사용할 수 있는 프로세서 코어 수는 호스트된 애플리케이션의 전반적인 성능에 영향을 미칠 수 있습니다. 따라서 BizTalk Server 데이터베이스를 호스트하는 BizTalk Server 및/또는 SQL Server instance 호스트하기 위해 Hyper-V 가상 머신에 설치되는 게스트 운영 체제를 고려해야 합니다. Hyper-V는 지정된 게스트 운영 체제에 대해 다음과 같은 수의 가상 프로세서를 수용합니다.
운영 체제 | 가상 프로세서 제한 |
---|---|
Windows Server 2008 R2. Windows Server 2008 R2의 모든 버전은 64비트 전용입니다. | 4 |
Windows Server 2008 SP2 64비트 | 4 |
Windows Server 2008 SP2 32비트 | 4 |
Windows 7 64비트 | 4 |
Windows 7 32비트 | 4 |
Windows Vista 64비트 | 2 |
Windows Vista 32비트 | 2 |
참고
Hyper-V에서 지원되는 게스트 운영 체제에 대한 자세한 내용은 Windows Server의 Hyper-V에 지원되는 Windows 게스트 및 지원되는 Windows 게스트 운영 체제를 참조하세요.
디스크 성능 최적화
Hyper-V 가상 환경에서 실행되는 게스트 운영 체제의 디스크 성능을 최적화하려면 다음 지침을 따릅니다.
단계 | 참조 |
---|---|
고정 크기 VHD(가상 하드 디스크) 옵션을 사용하여 Hyper-V 가상 머신에 사용할 가상 디스크를 구성합니다. 고정 크기 VHD는 클러스터링 지원 및 스냅샷 디스크 지원과 같은 기능의 유연성과 함께 실제 디스크에 근접하는 성능을 제공합니다. | Hyper-V 환경의 디스크 스토리지는 가상 IDE 컨트롤러 또는 가상 SCSI 컨트롤러를 통해 액세스할 수 있습니다. 이전 버전의 Microsoft 가상화 기술과 달리 가상 하드 디스크에 액세스할 때 가상 IDE 컨트롤러 또는 가상 SCSI 컨트롤러를 사용하는 것 사이에는 성능 차이가 없습니다. Hyper-V 환경에서 사용할 수 있는 디스크 스토리지 옵션은 다음과 같습니다. - 고정 크기 디스크 - 고정 크기 VHD(가상 하드 디스크)는 생성 시 정의된 최대 디스크 크기에 따라 실제 디스크에 데이터 블록이 미리 할당되는 디스크입니다. 예를 들어 100GB 고정 크기 VHD를 만드는 경우 Hyper-V는 새 VHD를 만들 때 VHD 헤더 및 바닥글에 필요한 오버헤드 외에도 100GB의 데이터 블록 스토리지를 모두 할당합니다. - 동적으로 디스크 확장 - 동적으로 확장되는 VHD는 초기 가상 하드 디스크에 데이터 블록이 없는 VHD입니다. 대신 데이터가 VHD에 기록될 때 VHD를 만들 때 지정된 최대 크기까지 공간이 동적으로 할당됩니다. 예를 들어 100GB 동적 확장 디스크는 처음에는 VHD 헤더만 포함하며 2MB 미만의 물리적 스토리지 공간이 필요합니다. 가상 머신에서 동적으로 확장되는 VHD에 새 데이터를 쓰면 최대 100GB까지 VHD 파일에 2MB씩 추가 물리적 데이터 블록이 할당됩니다. - 디스크 차이점 - 차이점 디스크는 "부모" VHD와 연결된 동적으로 확장되는 VHD 파일의 특수 형식입니다. 이 부모/자식 스토리지 토폴로지에서 부모 디스크는 변경되지 않고 "자식" 차이점 디스크에 대한 쓰기 작업만 유지됩니다. 모든 읽기 작업은 먼저 차이점 디스크에 대해 검사되어 업데이트된 콘텐츠가 차이점 디스크에 기록되었는지 확인합니다. 콘텐츠가 차이점 디스크에 없으면 부모 VHD에서 콘텐츠를 읽습니다. 차이점 디스크는 특정 기준 구성을 유지 관리해야 하며 쉽게 테스트한 다음 변경 내용을 기준선으로 롤백하려는 시나리오에 유용합니다. 차이점 디스크를 통해 제공되는 부모/자식 스토리지 토폴로지의 유연성은 테스트에 유용하지만 차이점 디스크를 사용할 때 필요한 부모/자식 토폴로지 유지 관리와 관련된 오버헤드가 있기 때문에 성능에 가장 적합한 구성은 아닙니다. - 통과 디스크 – 통과 디스크 기능을 사용하면 게스트 운영 체제가 Hyper-V 호스트 파일 시스템을 우회하고 디스크에 직접 액세스할 수 있습니다. 호스트와 게스트 운영 체제가 동시에 디스크에 액세스하지 않도록 하려면 통과를 통해 게스트 운영 체제에서 사용할 수 있는 디스크를 Hyper-V 호스트에서 "오프라인"으로 설정해야 합니다. 통과 디스크는 다른 디스크 스토리지 옵션에 비해 성능이 미미하지만 가상 머신 스냅샷 및 클러스터링 지원과 같은 가상 디스크의 특정 기능을 지원하지 않습니다. 따라서 누락된 기능으로 인한 오프셋 이상의 한계 성능 이점이 있기 때문에 BizTalk 또는 SQL Server 환경에서는 통과 디스크 기능을 사용하지 않는 것이 좋습니다. Hyper-V와 함께 제공되는 디스크 스토리지 선택 항목의 상대적 성능에 대한 자세한 내용은 Hyper-V 스토리지 분석 블로그 항목을 참조하세요. |
SCSI 컨트롤러를 사용하여 데이터 볼륨에 대한 디스크 구성 | 이는 Hyper-V 통합 서비스가 설치된 경우에만 SCSI 컨트롤러를 설치할 수 있는 반면, Hyper-V 통합 서비스를 설치하지 않고도 에뮬레이트된 IDE 컨트롤러를 사용할 수 있기 때문에 권장됩니다. 통합 서비스와 함께 제공되는 IDE 필터 드라이버를 사용하여 수행되는 디스크 I/O는 에뮬레이트된 IDE 컨트롤러와 함께 제공되는 디스크 I/O 성능보다 훨씬 낫습니다. 따라서 Hyper-V 가상화된 환경의 데이터 파일에 대한 최적의 디스크 I/O 성능을 보장하려면 호스트 및 게스트 운영 체제 모두에 통합 서비스를 설치하고 가상 SCSI 컨트롤러를 사용하여 데이터 볼륨에 대한 디스크를 구성합니다. 여러 데이터 드라이브에 걸쳐 있는 매우 집약적인 스토리지 I/O 워크로드의 경우 전반적인 성능을 향상시키려면 각 VHD를 별도의 가상 SCSI 컨트롤러에 연결해야 합니다. 또한 각 VHD는 별도의 실제 디스크에 저장되어야 합니다. 중요: SCSI 컨트롤러에 시스템 디스크를 연결하지 마세요. 운영 체제를 포함하는 가상 하드 디스크를 IDE 컨트롤러에 연결해야 합니다. |
메모리 성능 최적화
Hyper-V 가상 환경에서 실행되는 게스트 운영 체제의 메모리 성능을 최적화하려면 다음 지침을 따릅니다.
단계 | 참조 |
---|---|
Hyper-V 가상 머신을 호스트하는 실제 컴퓨터에 충분한 메모리가 설치되어 있는지 확인합니다. | - 사용 가능한 실제 메모리는 Hyper-V 가상 머신에서 실행되는 BizTalk Server 가장 중요한 성능 요소인 경우가 많습니다. 각 가상 머신은 페이징되지 않은 풀 메모리 또는 디스크로 페이징할 수 없는 메모리에 있어야 하기 때문입니다. 페이징되지 않은 풀 메모리를 디스크로 페이징할 수 없으므로 가상 머신을 호스트하는 물리적 컴퓨터는 각 가상 머신에 할당된 메모리의 합계와 다음을 더한 실제 메모리를 사용할 수 있어야 합니다. 하이퍼바이저의 경우 300MB, 각 가상 머신에 할당된 첫 번째 RAM의 경우 32MB, 각 가상 머신에 할당된 모든 추가 RAM에 대해 8MB, 루트 파티션에서 실행되는 호스트 운영 체제의 경우 512MB 예를 들어 Hyper-V 가상 머신에 Hyper-V 가상 머신에 2GB의 메모리가 할당된 경우 해당 Hyper-V 가상 머신을 실행할 때 사용되는 실제 실제 메모리는 약 2388MB(가상 머신에 할당된 하이퍼바이저 +2GB의 경우 300MB + 32MB + 8MB = 2388MB)가 됩니다. 하이퍼바이저를 한 번만 로드해야 하므로 후속 가상 머신을 초기화해도 하이퍼바이저 로드와 관련된 300MB 오버헤드가 발생하지 않습니다. 따라서 두 개의 Hyper-V 가상 머신이 각각 Hyper-V 관리자에 2GB의 메모리를 할당하는 경우 이러한 Hyper-V 가상 머신을 실행할 때 사용되는 실제 실제 메모리는 약 4476MB(가상 머신에 할당된 하이퍼바이저 +4GB의 경우 300MB + 64MB + 16MB = 4476MB)가 됩니다. 참고: 일반적으로 I/O 가상화, 스냅샷 파일 지원 및 자식 파티션 관리와 같은 서비스를 제공하기 위해 루트 파티션에 512MB 이상의 메모리를 할당할 계획입니다. - 가능하면 64비트 게스트 운영 체제 사용 – 각 게스트 운영 체제에 64비트 운영 체제를 사용하는 것이 좋습니다. 기본적으로 32비트 Windows 운영 체제는 프로세스당 최대 2GB의 가상 주소 공간만 처리할 수 있으므로 이 작업을 수행해야 합니다. 64비트 운영 체제를 설치하면 애플리케이션이 Hyper-V 가상 머신을 호스트하는 물리적 컴퓨터에 설치된 메모리를 최대한 활용할 수 있습니다. |
네트워크 성능 최적화
Hyper-V는 가상 머신에서 가상 및 에뮬레이트된 네트워크 어댑터를 지원하지만 가상 디바이스는 훨씬 더 나은 성능과 향상된 CPU 오버헤드를 제공합니다. 이러한 각 어댑터는 가상 네트워크 스위치에 연결되며 외부 네트워크 연결이 필요한 경우 실제 네트워크 어댑터에 연결할 수 있습니다. 이 섹션의 권장 사항에 따라 Hyper-V 가상 환경에서 실행되는 게스트 운영 체제의 네트워크 성능을 최적화합니다.
참고
이러한 권장 사항은 다운로드할 수 있는 Windows Server 2008 R2 백서에 대한 성능 튜닝 지침의 "가상화 서버에 대한 성능 튜닝 " 섹션에 나와 있습니다. 인터럽트 조정을 포함하여 루트 파티션에서 네트워크 어댑터를 조정하는 방법은 이 가이드의 "네트워킹 하위 시스템에 대한 성능 튜닝" 섹션을 참조하세요. 필요한 경우 해당 섹션의 TCP 튜닝을 자식 파티션에 적용해야 합니다.
단계 | 참조 |
---|---|
프라이빗 Virtual Network 사용하도록 동일한 Hyper-V 호스트 컴퓨터에서 실행되는 Hyper-V Virtual Machines 구성 | 네트워크 최적화의 "프라이빗 Virtual Network 사용하도록 동일한 Hyper-V 호스트 컴퓨터에서 실행되는 Hyper-V Virtual Machines 구성" 섹션의 권장 사항을 따릅니다. |
Virtual Machine 네트워크 카드에 대한 TCP 오프로드 사용 안 함 | 네트워크 최적화의 "가상 머신 네트워크 카드에 대한 TCP 오프로드 사용 안 함" 섹션의 권장 사항을 따릅니다. |
Hyper-V 가상 네트워크 어댑터를 사용하도록 게스트 운영 체제를 구성합니다. | Hyper-V는 기존 하드웨어를 모방하는 에뮬레이트된 네트워크 어댑터와 비교할 때 네트워크 I/O에서 CPU 오버헤드를 크게 줄이기 위해 VM을 위해 특별히 설계된 가상 네트워크 어댑터를 제공합니다. 가상 네트워크 어댑터는 보다 효율적인 데이터 전송을 위해 공유 메모리를 사용하여 VMBus를 통해 자식 파티션과 루트 파티션 간에 통신합니다. 에뮬레이트된 네트워크 어댑터는 VM 설정 대화 상자를 통해 제거하고 가상 네트워크 어댑터로 대체해야 합니다. 게스트는 VM 통합 서비스를 설치해야 합니다. |
사용 가능한 경우 루트 파티션의 실제 네트워크 어댑터 드라이버에 대한 오프로드 기능을 사용하도록 설정합니다. | 기본 시나리오와 마찬가지로 물리적 네트워크 어댑터의 오프로드 기능은 VM 시나리오에서 네트워크 I/O의 CPU 사용량을 줄입니다. Hyper-V는 현재 LSOv1 및 TCPv4 체크섬 오프로드를 사용합니다. 루트 파티션의 실제 네트워크 어댑터에 대해 드라이버에서 오프로드 기능을 사용하도록 설정해야 합니다. 네트워크 어댑터의 오프로드 기능에 대한 자세한 내용은 다운로드할 수 있는 Windows Server 2008 R2 백서의 "가상화 서버에 대한 성능 튜닝" 섹션의 "네트워크 어댑터 선택" 섹션을 참조하세요. 특정 네트워크 어댑터용 드라이버는 LSOv1을 사용하지 않도록 설정하지만 기본적으로 LSOv2를 사용하도록 설정합니다. 시스템 관리자는 장치 관리자 드라이버 속성 대화 상자를 사용하여 LSOv1을 명시적으로 사용하도록 설정해야 합니다. |
여러 네트워크 어댑터를 사용하도록 네트워크 스위치 토폴로지를 구성합니다. | Hyper-V는 여러 가상 네트워크 스위치를 만들도록 지원하며, 각 스위치는 필요한 경우 실제 네트워크 어댑터에 연결할 수 있습니다. VM의 각 네트워크 어댑터는 가상 네트워크 스위치에 연결할 수 있습니다. 물리적 서버에 네트워크 어댑터가 여러 개 있는 경우 네트워크 집약적 부하가 있는 VM은 실제 네트워크 어댑터를 더 잘 사용하기 위해 다른 가상 스위치에 연결되는 이점을 얻을 수 있습니다. |
Hyper-V 호스트 컴퓨터에 여러 물리적 네트워크 카드가 설치된 경우 각 네트워크 카드 대한 디바이스 인터럽트 를 단일 논리 프로세서에 바인딩합니다. | 특정 워크로드에서 단일 네트워크 어댑터에 대한 디바이스 인터럽트 를 단일 논리 프로세서에 바인딩하면 Hyper-V의 성능이 향상될 수 있습니다. 네트워크 대역폭을 완전히 사용하는 특정 문제를 해결하기 위해서만 이 고급 튜닝을 사용하는 것이 좋습니다. 시스템 관리자는 IntPolicy 도구를 사용하여 디바이스 인터럽트를 특정 프로세서에 바인딩할 수 있습니다. |
가능하면 Hyper-V 가상 네트워크 어댑터에 대해 VLAN 태그 지정을 사용하도록 설정합니다. | Hyper-V 가상 네트워크 어댑터는 VLAN 태그 지정을 지원합니다. 실제 네트워크 어댑터가 큰 송신 및 체크섬 오프로드 모두에 대한 NDIS_ENCAPSULATION_IEEE_802_3_P_AND_Q_IN_OOB 캡슐화를 지원하는 경우 훨씬 더 나은 네트워크 성능을 제공합니다. 이 지원이 없으면 Hyper-V는 VLAN 태그 지정이 필요한 패킷에 하드웨어 오프로드를 사용할 수 없으며 네트워크 성능을 줄일 수 있습니다. |
Hyper-V 호스트 컴퓨터에 고속 네트워크 어댑터를 설치하고 최대 성능을 위해 구성합니다. | Hyper-V 호스트 컴퓨터에 1GB 네트워크 어댑터를 설치하고 "자동 협상"을 사용하는 것이 아니라 고정된 속도로 네트워크 어댑터를 구성하는 것이 좋습니다. 네트워크 속도, 이중 및 흐름 제어 매개 변수가 연결된 스위치의 설정에 맞게 설정하는 것이 매우 중요합니다. |
네트워크 성능을 최적화하기 위한 모범 사례를 따릅니다. | 네트워크 최적화 항목에서는 네트워크 성능을 최적화하기 위한 일반적인 지침을 제공합니다. 이 항목에서는 Hyper-V 가상화된 환경에서 BizTalk Server 성능을 최적화하기 위한 특정 권장 사항을 제공하지 않지만, 이 기술은 물리적 하드웨어에서 실행하든 Hyper-V 가상화된 환경에서 실행하든 관계없이 모든 BizTalk Server 솔루션에 적용할 수 있습니다. |
SQL Server 성능 최적화
최적화 SQL Server 항목의 권장 사항에 따라 BizTalk Server 솔루션에 대한 SQL Server 성능을 최적화합니다. 이 항목에서는 Hyper-V 가상화된 환경에서 BizTalk Server 성능을 최적화하기 위한 특정 권장 사항을 제공하지 않지만, 이 기술은 물리적 하드웨어에서 실행하든 Hyper-V 가상화된 환경에서 실행하든 관계없이 모든 BizTalk Server 솔루션에 적용할 수 있습니다.
BizTalk Server 솔루션 최적화
최적화 BizTalk Server 항목의 권장 사항에 따라 BizTalk Server 솔루션의 성능을 최적화합니다. 이 항목에서는 Hyper-V 가상화된 환경에서 BizTalk Server 성능을 최적화하기 위한 특정 권장 사항을 제공하지 않지만, 이 기술은 물리적 하드웨어에서 실행하든 Hyper-V 가상화된 환경에서 실행하든 관계없이 모든 BizTalk Server 솔루션에 적용할 수 있습니다.