VMware의 Linux 가상 머신에는 언제 "irqbalance"가 필요합니까?

VMware의 Linux 가상 머신에는 언제 "irqbalance"가 필요합니까?

VMware Enterprise 5.5에 Linux 팜이 있습니다. 이러한 VM은 (대부분) systemd 대신 SysVinit를 사용하는 64비트 amd64 Debian Jessie 서버입니다. VM에는가상 머신 도구 열기설치하다.

반가상화그들의이더넷그리고디스크제어 장치.

반가상화 드라이버는 가상화 플랫폼이 Intel E1000 NIC 또는 LSI Logic SAS SCSI 어댑터와 같은 다른 장치를 에뮬레이트할 필요가 없는 드라이버입니다. 이러한 반가상화 드라이버는 에뮬레이션 계층을 제거하여 본질적으로 중개인을 제거하며, 이로 인해 성능이 크게 향상되는 경우가 많습니다.

보시다시피 lspci | egrep "PVSCSI|VMXNET"이더넷과 디스크는 이제 반가상화되었습니다.

3:00.0 Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02)
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)

에 대한 cat 작업은 /proc/interrupts이와 관련된 인터럽트가 있으며 반가상화가 의존하는 기능을 쉽게 보여줍니다.

56:    6631557          0   PCI-MSI 1572864-edge      vmw_pvscsi
57:   72647654          0   PCI-MSI 5767168-edge      eth0-rxtx-0
58:   44570979          0   PCI-MSI 5767169-edge      eth0-rxtx-1
59:          0          0   PCI-MSI 5767170-edge      eth0-event-2
60:          1          0   PCI-MSI 129024-edge       vmw_vmci
61:          0          0   PCI-MSI 129025-edge       vmw_vmci

vmw_vmci: 가상 머신 통신 인터페이스. VMCI 가상 디바이스를 통해 가상 환경에서 호스트와 게스트 간 고속 통신을 가능하게 합니다.

사용하는 것이 당연할 것 같습니다이토적당히 바쁜 SSL 지원 웹 프런트엔드를 모니터링하는 데 자주 사용됩니다.

INT                NAME          RATE             MAX
 57 [   0          0   ]   142 Ints/s     (max:   264)
 58 [   0          0   ]   155 Ints/s     (max:   185)
 59 [   0          0   ]   119 Ints/s     (max:   419)
 60 [   0          0   ]   133 Ints/s     (max:   479)

irqbalance가상 머신에서는 필요하지 않다고 확신합니다.CPU 선호도및 단일 코어 가상 머신에서. CPU 선호도를 위해 수동으로 구성한 두 서버에는 특별한 요구 사항이 있으며 일반적으로 문헌에 따르면 irqbalance이 작업을 더 잘 수행해야 한다고 나와 있습니다.

그래서 제 질문은 언제입니까?인터럽트 밸런스다중 CPU Linux VM의 여러 CPU에 인터럽트 로드를 분산해야 합니까?

참고: 저는 일부 논문과 관련(날짜가 지정된) 논문을 참고했습니다.서버 장애게시물에서는 그다지 명확하지 않았습니다. 나는 또한 Xen에 대해 비슷한 우려를 표명하는 학술 논문을 발견했습니다.vBalance: 인터럽트 로드 밸런싱을 사용하여 SMP 가상 머신의 I/O 성능 향상

답변1

다음 조건이 모두 참인 경우

  • 가상 머신에 여러 CPU가 존재합니다.
  • 가상 머신(호스트를 통해)은 다음에 고정되어 있습니다.구체적이고 배타적이다CPU(다른 VM과 공유되지 않음), VM CPU는 호스트 CPU와 1-1 매핑을 갖습니다.
  • 가상 머신에는저주 받은스토리지/네트워크 하드웨어에 액세스(예: 패스스루를 통해)

그러면 VM 내 IRQ 재조정이 여전히 의미가 있습니다.

가상 머신에 CPU가 여러 개 없으면 VM 내 IRQ 재조정은 분명히 효과가 없습니다. 다른 점에서는 가상 머신이 있는 "실제" CPU가 그 아래로 이동할 수 있고 가상 머신의 운영 체제가 어떤 가상 인터럽트가 어떤 실제 CPU에 의해 처리되는지 알 수 없기 때문에 상황이 까다로워집니다. 또한 실제 CPU가 여러 VM 간에 공유되는 경우 실제로 다른 작업이 무엇인지, 가상 CPU가 언제 서비스될지 알 수 없으므로 "가상 재조정"으로 인해 상황이 실제로 악화될 수 있습니다. ..

추신: 2년 전은 너무 오래된 일이 아닙니다! 일부 메시지는 시대를 초월합니다...

폴리페닐렌 에테르:VMCI는 잔여 버전이며 ESXi 6 이상에서는 지원되지 않습니다..

관련 정보