KVM e Libvirt: Mau desempenho de CPU/rede do convidado

KVM e Libvirt: Mau desempenho de CPU/rede do convidado

Eu tenho um host Arch Linux que executa um roteador virtualizado.

Ao usar um convidado LXC como roteador, está tudo bem. Recebo 100 MBits para cima/para baixo e quase nenhum uso de CPU.

No entanto, quando eu uso o libvirt gest (pfSense FreeBSD) como roteador, sempre que há tráfego intenso de rede passando pelo convidado, o uso da CPU fica excessivamente alto (até 100%), mas o pior é que a taxa de transferência da rede é reduzida pela metade! Eu obtenho 45-49Mbits no máximo.

O host não suporta passagem PCI, então esta é minha configuração para a VM libvirtd:

Nic1 (wan)
Network source: Direct ‘eth0’
Source mode: passthrough
Device model: virtio

Nic2 (lan)
Bridge name: br0
Device model: virtio

Tentei o e1000, mas não mudou absolutamente nada.

Host CPU: AMD A4-5000 Kabini
Guest CPU: default or Opteron_G3

A pesquisa de hardware no pfSense está desabilitada e o ifconfig do pfSense mostra isto:http://storage5.static.itmages.com/i/16/1217/h_1481996196_8871112_a2f0d75655.png

Isso acontece há mais de um ano, desde que comecei a usar o KVM. Se eu não resolver este problema, terei que descartar o libvirt porque tal desempenho é inaceitável.

Responder1

Isso tem a ver com os drivers FreeBSD para Virtio, eles simplesmente não estão à altura da tarefa de rodar tão rápido quanto os drivers Linux.

https://forum.proxmox.com/threads/poor-virtio-network-performance-pfsense-guest-proxmox-3-4.23933/

^^ a postagem acima é uma postagem que detalha algumas coisas que você pode fazer para ajudar, como desativar o descarregamento de soma de verificação de hardware no convidado e no host e também nas configurações do pfSense (certifique-se de reiniciar a VM antes de testar novamente).

Tenho tentado executar o pfSense em cima do Proxmox (base Debian) e em interfaces gig em bare metal obtenho 940-980 Mbps, mas no VM guest obtenho um máximo de 650-700 Mbps.

informação relacionada