nVMX poor network performance with virtio-vhost

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I'm setting nVMX environment and observing poor network performance
from L2 guest to L0 or any physical PC on the same network if L1 and
L2 are running with vhost=on.

My configuration is
L0 - 4.11-rc8 from Fedora 26, Xeon 2330v4 with x2apic and apicv enabled
L1 - 4.11-rc8 from Fedora 26, network model virtio with vhost on
L2 - Ubuntu 16.10, network model virtio with vhost on
L2 - Windows 2012R2 with virtio drivers 135-1

I run a couple of tests with iperf3 and the results are:
L0 --> L1 is 23-30 Gbit
L1 --> L2 is the same
L1 --> L2 is the same
L2 --> L1 is the same
L0 --> L2 also shows the same performance

Connecting to host 10.0.212.179, port 5201
[  4] local 10.0.212.29 port 46254 connected to 10.0.212.179 port 5201
[ ID] Interval           Transfer     Bandwidth       Retr  Cwnd
[  4]   0.00-1.00   sec  2.96 GBytes  25.5 Gbits/sec   12   1.66 MBytes
[  4]   1.00-2.00   sec  3.05 GBytes  26.2 Gbits/sec   19   2.11 MBytes
[  4]   2.00-3.00   sec  3.31 GBytes  28.5 Gbits/sec   22   2.39 MBytes
[  4]   3.00-4.00   sec  3.40 GBytes  29.2 Gbits/sec   86   2.48 MBytes
[  4]   4.00-5.00   sec  3.37 GBytes  28.9 Gbits/sec   36   2.54 MBytes
[  4]   5.00-6.00   sec  3.43 GBytes  29.5 Gbits/sec   43   2.67 MBytes
[  4]   6.00-7.00   sec  3.38 GBytes  29.0 Gbits/sec   61   2.77 MBytes
[  4]   7.00-8.00   sec  2.80 GBytes  24.1 Gbits/sec   14   2.78 MBytes
[  4]   8.00-9.00   sec  3.23 GBytes  27.8 Gbits/sec   37   2.83 MBytes
[  4]   9.00-10.00  sec  3.37 GBytes  28.9 Gbits/sec   45   2.96 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-10.00  sec  32.3 GBytes  27.7 Gbits/sec  375             sender
[  4]   0.00-10.00  sec  32.3 GBytes  27.7 Gbits/sec                  receiver


But results for L2-->L0 are:
Accepted connection from 10.0.212.179, port 54096
[  5] local 10.0.212.29 port 5201 connected to 10.0.212.179 port 54098
[ ID] Interval           Transfer     Bandwidth
[  5]   0.00-1.00   sec  14.3 MBytes   120 Mbits/sec
[  5]   1.00-2.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   2.00-3.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   3.00-4.00   sec  0.00 Bytes  0.00 bits/sec
[  5]   4.00-5.00   sec  0.00 Bytes  0.00 bits/sec

And I have to reset network on L2. Sometimes test completed
successfully without the need to restart network.
If I run Windows 2012R2 as L2 guest I can see that network doesn't
have any packets for 5 seconds, then some packets are passed, 5
seconds idle and so one.

I also tried different NIC combinations for L1 and L2:
L1 vmxnet3 L2 vmxnet3 - OK
L1 virtio-vhost L2 virtio - OK
L1 virtio L2 virtio-vhost - OK

So the issue occurs only when L1 and L2 are running with virtio-vhost
and when traffic goes from L2 to L0 or other physical PC.

Thanks,
Gleb



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux