I have an Arch Linux host which runs virtualised router.When using a LXC guest as router, everything is fine. I get 100MBits Up/Down and almost no CPU usage at all. However, when I use libvirt gest (pfSense FreeBSD) as a router, whenever there is heavy network traffic going through the guest, the CPU usage goes unreasonably high (up to 100%) but the worst thing is that the network throughput is halved! I get 45-49Mbits max.Host doesnt support PCI pass through, so this is my config for the libvirtd VM:Nic1 (wan)Network source: Direct eth0Source mode: passthroughDevice model: virtioNic2 (lan)Bridge name: br0Device model: virtioI tried e1000 instead but it changes absolutely nothing. Host CPU: AMD A4-5000 KabiniGuest CPU: default or Opteron_G3Hardware polling in pfSense is disabled, and pfSense ifconfig shows this: http://storage5.static.itmages.com/i/16/1217/h_1481996196_8871112_a2f0d75655.pngThis has been so since over a year now, since I started using KVM. If I do not solve this problem, I will have to dump libvirt because such performance is unacceptable.
KVM and Libvirt: Bad CPU/Network performance of guest
linux;networking;kvm;qemu;libvirtd