我有一个基于KVM linux的虚拟机,由于主机的networking性能在1 Gbps(在内部networking上)运行完美,并使用iperf工具显示networking在主机上运行完美,但客人networking性能慢由于iperf的结果非常奇怪,因为它不是100 Mbps,也不是1 Gbps,所以它的最大值在350到500 Mbps之间。 这是runnin iperf -c servername -P 15
:
[ ID] Interval Transfer Bandwidth [ 17] 0.0-10.0 sec 68.6 MBytes 57.5 Mbits/sec [ ID] Interval Transfer Bandwidth [ 4] 0.0-10.0 sec 18.6 MBytes 15.5 Mbits/sec [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 61.9 MBytes 51.9 Mbits/sec [ ID] Interval Transfer Bandwidth [ 11] 0.0-10.0 sec 16.0 MBytes 13.4 Mbits/sec [ ID] Interval Transfer Bandwidth [ 10] 0.0-10.0 sec 24.3 MBytes 20.4 Mbits/sec [ ID] Interval Transfer Bandwidth [ 15] 0.0-10.0 sec 20.2 MBytes 16.9 Mbits/sec [ ID] Interval Transfer Bandwidth [ 12] 0.0-10.0 sec 30.2 MBytes 25.3 Mbits/sec [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 36.2 MBytes 30.3 Mbits/sec [ ID] Interval Transfer Bandwidth [ 8] 0.0-10.0 sec 23.6 MBytes 19.8 Mbits/sec [ ID] Interval Transfer Bandwidth [ 9] 0.0-10.0 sec 24.2 MBytes 20.3 Mbits/sec [ ID] Interval Transfer Bandwidth [ 14] 0.0-10.0 sec 31.0 MBytes 25.9 Mbits/sec [ ID] Interval Transfer Bandwidth [ 7] 0.0-10.0 sec 16.6 MBytes 13.9 Mbits/sec [ ID] Interval Transfer Bandwidth [ 6] 0.0-10.0 sec 18.8 MBytes 15.7 Mbits/sec [ ID] Interval Transfer Bandwidth [ 13] 0.0-10.0 sec 13.3 MBytes 11.2 Mbits/sec [ ID] Interval Transfer Bandwidth [ 16] 0.0-10.0 sec 29.6 MBytes 24.8 Mbits/sec [SUM] 0.0-10.0 sec 433 MBytes 363 Mbits/sec
我testing了不同的networking模型,最好的结果是使用virtio模型任何人都可以帮助获得networking的完整性能和1 Gbps。
我想补充一点,当我执行命令brctl show
我得到了fbridge的名字
bridge id STP enabled interfaces br0 8000.d067e5fb7dec no eth0 vnet0 vnet1 vnet2 br2 8000.d067e5fb7dee no eth1 virbr0 8000.000000000000 yes
这会影响客人的networking速度吗?
我想你已经在虚拟机中使用了virtio驱动程序,它必须具备良好的networking性能。
您也可以尝试使用相当新的guest
端netdev模型,它使用一些先进的内存映射技术来实现更好的networking性能。 您的VM应该使用与virtio驱动程序相同的configuration; 设置启动虚拟机的kvm参数应该是这样的(修复它们以满足您的需要):
-netdev tap,vhost=on,ifname=vnet0,id=guest0,script=/path/to/custom/tap-ifup,downscript=no \ -device virtio-net-pci,netdev=guest0,mac=00:16:3e:47:aa:53
有了这个configuration,我已经达到了6 Gb / s。
尝试更改以太网驱动程序设置。
/ sbin / ethtool –offload eth0 gso off tso off sg off gro off
看到
“如果使用半虚拟化networking驱动程序的性能不佳,请validation主机系统上GSO和TSOfunction的设置。半虚拟化networking驱动程序要求禁用GSO和TSO选项以获得最佳性能。