13장. 가상 머신 성능 최적화
가상 머신(VM)은 항상 호스트와 비교하여 어느 정도 성능 저하가 발생합니다. 다음 섹션에서는 이러한 완화의 이유를 설명하고 RHEL 9에서 가상화의 성능 영향을 최소화하는 방법에 대한 지침을 제공하여 하드웨어 인프라 리소스를 최대한 효율적으로 사용할 수 있도록 합니다.
13.1. 가상 머신 성능에 미치는 영향
VM은 호스트에서 사용자 공간 프로세스로 실행됩니다. 따라서 하이퍼바이저는 VM이 사용할 수 있도록 호스트의 시스템 리소스를 변환해야 합니다. 그 결과 변환에서 리소스 일부를 사용하고 VM은 호스트와 동일한 성능 효율성을 달성할 수 없습니다.
가상화가 시스템 성능에 미치는 영향
VM 성능 저하에 대한 구체적인 이유는 다음과 같습니다.
- 가상 CPU(vCPU)는 호스트에서 스레드로 구현되며 Linux 스케줄러에서 처리합니다.
- VM은 호스트 커널에서 NUMA 또는 대규모 페이지와 같은 최적화 기능을 자동으로 상속하지 않습니다.
- 호스트의 디스크 및 네트워크 I/O 설정이 VM에 상당한 성능 영향을 미칠 수 있습니다.
- 일반적으로 네트워크 트래픽은 소프트웨어 기반 브릿지를 통해 VM으로 이동합니다.
- 호스트 장치와 해당 모델에 따라 특정 하드웨어 에뮬레이션으로 인해 상당한 오버헤드가 발생할 수 있습니다.
VM 성능에 미치는 가상화의 심각도는 다음과 같은 다양한 요인의 영향을 받습니다.
- 동시에 실행 중인 VM 수입니다.
- 각 VM에서 사용하는 가상 장치의 양입니다.
- VM에서 사용하는 장치 유형입니다.
VM 성능 손실 감소
RHEL 9는 가상화의 부정적인 성능 영향을 줄이는 데 사용할 수 있는 다양한 기능을 제공합니다. 특히:
-
TuneD
서비스는 VM의 리소스 배포 및 성능을 자동으로 최적화할 수 있습니다. - 블록 I/O 튜닝 은 디스크와 같은 VM 블록 장치의 성능을 향상시킬 수 있습니다.
- NUMA 튜닝 은 vCPU 성능을 향상시킬 수 있습니다.
- 가상 네트워킹을 다양한 방법으로 최적화할 수 있습니다.
VM 성능 튜닝은 다른 가상화 기능에 부정적인 영향을 미칠 수 있습니다. 예를 들어, 수정된 VM을 마이그레이션하는 것이 더 어려워질 수 있습니다.