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