Eu tenho um farm Linux no VMware Enterprise 5.5. As VMs são (na maioria das vezes) servidores Debian Jessie de 64 bits amd64 com SysVinit e não systemd. As VMs têm open-vm-tools instalado.
Eu paravirtualizado seu Ethernet e disco controladores.
Paravirtual drivers are ones where the virtualization platform does
not have to emulate another device, such as an Intel E1000 NIC or a
LSI Logic SAS SCSI adapter. These paravirtual drivers essentially cut
the middleman out by ditching the emulation layer, which usually
results in significant performance increases.
Como lspci | egrep "PVSCSI|VMXNET"
pode mostrar, a ethernet e os discos agora são paravirtualizados:
3:00.0 Serial Attached SCSI controller: VMware PVSCSI SCSI Controller (rev 02)
0b:00.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
É fácil mostrar o gato para /etc/proc/interrups
, pois há interrupções associadas a eles e às funcionalidades que a paravirtualização depende:
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: The Virtual Machine Communication Interface. It enables
high-speed communication between host and guest in a virtual
environment via the VMCI virtual device.
Parece óbvio que usando itop eles são bastante usados no monitoramento de um front-end da web moderadamente ocupado com 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)
Tenho certeza de que irqbalance
não é necessário em VMs com Afinidade de CPU e em VMs de núcleo único. Os dois servidores nos quais temos afinidade de CPU configurada manualmente têm necessidades especiais, como em casos gerais, a literatura diz que irqbalance
deveria fazer um trabalho melhor.
Então, minha pergunta é, quando é irqbalance necessário para distribuir a carga de interrupção através das diferentes CPUs para multi-CPU VMs Linux?
Nota: Eu já consultei alguns artigos, e um relacionado (datado) serverfault post, eles não são muito claros sobre isso. Eu também encontrei um artigo acadêmico expressando preocupações semelhantes para Xen. vBalance: usando o balanceamento de carga de interrupção para melhorar o desempenho de I / O para máquinas virtuais SMP