我想运行几个基准测试,这需要在同一物理主机上的两个虚拟机之间建立 1Gbps 的连接。我在网上发现,使用 virtio 作为我的网卡适配器应该可以做到这一点,但我的速度只有 400-500 Mbits/秒。
我的主机以太网卡是 1000Mbps
eth0 的设置:
- 支持的端口:[ 光纤 ]
- 支持的链接模式:1000baseT/Full
- 支持自动协商:是
- 公布的链接模式:1000baseT/Full
- 宣传暂停帧使用:否
- 公布的自动协商:是
- 链接合作伙伴宣传的链接模式:未报告
- 链接合作伙伴宣传暂停框架的使用:否
- 链接伙伴公布自动协商:否
- 速度:1000Mb/s
- 双工:全双工
- 端口:FIBRE
- 物理强度: 1
- 收发器:内部
- 自动协商:开启
- 支持唤醒:g
- 唤醒:g
- 检测到链接:是
但是我的虚拟网络接口只有10mbps。
vnet0 的设置:
- 支持的端口:[ ]
- 支持的链接模式:
- 是否支持自动协商:否
- 广告链接模式:未报告
- 宣传暂停帧使用:否
- 公布的自动协商:否
- 链接合作伙伴宣传的链接模式:未报告
- 链接合作伙伴宣传暂停框架的使用:否
- 链接伙伴公布自动协商:否
- 速度:10Mb/s
- 双工:全双工
- 端口:双绞线
- 物理强度: 0
- 收发器:内部
- 自动协商:关闭
- MDI-X:未知
- 当前消息级别:0xffffffa1(-95)
- 检测到链接:是
知道我哪里做得不够吗?
答案1
我怀疑 virtio 驱动程序报告的速度不正确(因为它实际上没有最大速度)。此外,物理主机的 NIC 不会影响虚拟机之间的流量。推送那么多流量需要主机做大量工作,因此您可能受到限制。测试期间主机的 CPU 使用率是多少?更高版本的 KVM 在网络方面有一些性能改进,因此如果您需要额外的性能,您可能需要考虑升级。