VDI 환경을 위한 SCVMM 성능 튜닝 Virtualization2011. 4. 1. 23:00
VDI 환경을 위한 SCVMM 성능 튜닝
VDI 환경의 특성 상 동시에 VM들이 켜지거나(출근 시간대) 동시에 VM들이 꺼지는(퇴근 시간대) 상황이 발생하는데 이 경우 VMM 서버에 많은 부하가 발생할 수 있다. 아래의 튜닝 방법은 약 1,000대의 VM을 기준으로 하므로, 이 이상의 경우에는 다수의 SCVMM 서버를 두어야 할 필요가 있다.
1,000대의 VM을 관리하기 위한 SCVMM 서버의 하드웨어 구성은 다음과 같다.
- 4Core 이상의 CPU와 8GB의 메모리
- SQL Server 2008 R2 Enterprise
- Fibre 방식 디스크로 데이터베이스와 로그 분리
- VM으로 구성할 경우 Pass-through 디스크로 구성
[새로 고침 주기 변경]
레지스트리 키 위치 - HKLM\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings
값형태 / 입력단위 - REG_DWORD / 초
값 이름 | 설명 | 기본 값 | 최소 값 | 최대 값 | 권장 값 |
VMUpdateInterval | VM 목록 새로 고침 | 30분 | 0 | 24시간 | 120분 |
HostUpdateInterval | 호스트 및 사용자 새로 고침 | 30분 | 0 | 24시간 | 120분 |
VMPropertiesUpdateInterval | VM 속성 및 상태 새로 고침 | 2분 | 0 | 24시간 | 30분 |
VHDMountTimeoutSeconds | 동일 디스크를 기반으로 다수의 VM이 동시 생성되는 경우의 시간 제한 | 10분 | 10분 | 1시간 | 30분 또는 1시간 |
[오래된 작업 데이터 삭제]
VDI 환경의 경우 많은 양의 작업이 발생하게 되므로 데이터베이스에 많은 양의 작업 데이터가 쌓이게 될 수 있다.
레지스트리 키 위치 - HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\Sql\TaskGC
값이름: TaskGC, 기본값: 90일, 권장값: 7일
[WCF 시간 제한]
SCVMM은 서버와 클라이언트의 Powershell 레이어간 통신에 WCF를 사용한다. VDI 환경에서는 많은 양의 요청이 동시에 발생할 경우 지연이나 부하가 발생할 수 있다.
레지스트리 키 위치 - HKLM\Software\Microsoft\Microsoft System Center Virtual Machine Manager Server\Settings\IndigoSendTimeout
값이름: IndigoSendTimeout, 기본값: 120초, 권장값: 300초
[Garbage Collector(GC) 최적화]
기본값인 워크스테이션 GC 대신 VMM 서버의 GC를 설정하면 다수의 VMM 작업에 대한 CPU 오버헤드가 크게 줄어든다.
%Program Files%\Microsoft System Center Virtual Machine Manager 2008 R2\Bin 폴더에 vmmservice.exe.config 파일을 생성한 후 아래의 내용을 붙혀 넣는다.
<configuration>
<runtime>
<gcServer enabled="true"/>
</runtime>
</configuration>
위 설정을 적용하기 위해서는 VMM 서비스를 재시작해야 한다.