17장. 가상 머신 성능 최적화

가상 머신(VM)은 항상 호스트와 비교하여 어느 정도의 성능 저하를 경험합니다. 다음 섹션에서는 이러한 거부의 이유를 설명하고 RHEL 9에서 가상화의 성능 영향을 최소화하는 방법에 대한 지침을 제공하여 하드웨어 인프라 리소스를 최대한 효율적으로 사용할 수 있도록 합니다.

17.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을 보다 쉽게 마이그레이션할 수 있습니다.