我正在使用 QEMU 虚拟化 KVM VPS。我已经关闭了主机网络接口(interface)上的所有东西,如 gso、tso、tx、rx,并且我的 VPS 使用 VirtIO 作为网卡。当我在主机上进行速度测试时,通常会得到大约 800 Mbps 下行链路和 600 Mbps 上行链路的结果。但是,当我在 VPS 内进行相同的测试时,只能获得 300/200 Mbps,好像有什么东西将速度限制为 300 Mbps。但检查完之后,并没有找到网络性能差的原因。
有什么办法可以进一步提高KVM VPS的网络性能吗?我的主机使用双 Xeon E5530(8 核 16 线程),拥有 64 GiB 物理内存,大约 100 VPS(主要是 256 MiB 内存/1 核)正在其上运行。主机平均负载约为3.0。主机和VPS在主机上使用相同的网卡并且网桥设置正确。
最佳答案
我在 Xen 到 KVM 迁移过程中遇到了一些问题,通过研究情况我们得出了下一个结论。
1.- 我们的最佳性能是通过向服务器插入一些新的 NIC 并将 pci 设备分配给 VPS 获得的。 您将获得与未虚拟化相同的性能。
问题:
- 您需要链接到新的外部 NIC Controller 的 VPS。Pci 直通。
- 您需要为每个要配置的端口配备一个网络 Controller 。搜索iommu信息。
- 忘记在分配了 PCI 的主机之间进行实时迁移。
2.- 使用 virtio 驱动程序和性能调整。
我们获得了更好的性能,但无法与 pci-passthrough 进行比较。
有一些 KVM 人员的研究称他们达到了出色的性能,我不能说这不是真的,但我无法复制这种性能。 http://www.linux-kvm.org/page/Using_VirtIO_NIC
调整: 按照下一个指南,您可以找到一些获得最佳性能的技巧。
我们注意到多队列 virtio-net 方法的一项重要改进,但我想如果您的 VPS 仅使用一个核心,它对您没有用处。
关于linux - 如何提高KVM VPS的网络性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38682850/