KVM 和 Libvirt:来宾的 CPU/网络性能不佳

KVM 和 Libvirt:来宾的 CPU/网络性能不佳

我有一台运行虚拟路由器的 Arch Linux 主机。

当使用 LXC guest 作为路由器时,一切都很好。我的上行/下行速度为 100MBits,几乎没有 CPU 使用率。

然而,当我使用 libvirt gest (pfSense FreeBSD) 作为路由器时,每当有大量网络流量通过来宾时,CPU 使用率就会变得不合理的高(高达 100%),但最糟糕的是网络吞吐量减半!我的最大速度为 45-49Mbits。

主机不支持 PCI 直通,所以这是我的 libvirtd 虚拟机配置:

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

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

我尝试了 e1000,但它完全没有改变。

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

pfSense 中的硬件轮询已禁用,pfSense ifconfig 显示如下:http://storage5.static.itmages.com/i/16/1217/h_1481996196_8871112_a2f0d75655.png

自从我开始使用 KVM 以来已经一年多了。如果我不解决这个问题,我将不得不转储 libvirt,因为这样的性能是不可接受的。

答案1

这与 Virtio 的 FreeBSD 驱动程序有关,它们根本无法胜任与 Linux 驱动程序一样快的运行速度。

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

^^ 以上是一篇文章,详细介绍了您可以采取的一些帮助措施,例如关闭来宾和主机上以及 pfSense 设置中的硬件校验和卸载(请务必在重新测试之前重新启动虚拟机)。

我一直在尝试在 Proxmox(Debian 基础)之上运行 pfSense,并在裸机上的演出接口上获得 940-980 Mbps,但在 VM guest 上获得最大 650-700 Mbps。

相关内容