Slow Windows TCP performance

Discussion in 'Proxmox VE: Networking and Firewall' started by VirtualProx, Dec 4, 2018.

  1. VirtualProx

    VirtualProx New Member

    Joined:
    Dec 27, 2017
    Messages:
    2
    Likes Received:
    0
    I have a Core I7-4790K running some Windows 10 and Fedora 29 VMs.

    All VMs are using the VirtIO interface and latest drivers.

    The Hypervisor is ProxMox 5.2.

    I'm running iPerf server on the Hypervisor.

    This is what I see from a Fedora 29 VM to the Hypervisor:
    iperf3 -c 172.16.2.57
    Connecting to host 172.16.2.57, port 5201
    [ 5] local 172.16.2.2 port 48650 connected to 172.16.2.57 port 5201
    [ ID] Interval Transfer Bitrate Retr Cwnd
    [ 5] 0.00-1.00 sec 2.30 GBytes 19.8 Gbits/sec 4 3.09 MBytes
    [ 5] 1.00-2.00 sec 2.80 GBytes 24.0 Gbits/sec 14 3.09 MBytes
    [ 5] 2.00-3.00 sec 2.63 GBytes 22.6 Gbits/sec 12 3.09 MBytes
    [ 5] 3.00-4.00 sec 3.35 GBytes 28.8 Gbits/sec 4 3.09 MBytes
    [ 5] 4.00-5.00 sec 3.51 GBytes 30.2 Gbits/sec 5 3.09 MBytes
    [ 5] 5.00-6.00 sec 3.61 GBytes 31.0 Gbits/sec 2 3.09 MBytes
    [ 5] 6.00-7.00 sec 3.57 GBytes 30.7 Gbits/sec 6 3.09 MBytes
    [ 5] 7.00-8.00 sec 2.84 GBytes 24.4 Gbits/sec 11 3.09 MBytes
    [ 5] 8.00-9.00 sec 3.49 GBytes 30.0 Gbits/sec 5 3.09 MBytes
    [ 5] 9.00-10.00 sec 3.28 GBytes 28.2 Gbits/sec 6 3.09 MBytes
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval Transfer Bitrate Retr
    [ 5] 0.00-10.00 sec 31.4 GBytes 27.0 Gbits/sec 69 sender
    [ 5] 0.00-10.00 sec 31.4 GBytes 27.0 Gbits/sec receiver

    I'm assuming that's pretty respectable...

    Now from Windows 10 I see:
    iperf3.exe -c 172.16.2.57
    Connecting to host 172.16.2.57, port 5201
    [ 4] local 172.16.2.88 port 57827 connected to 172.16.2.57 port 5201
    [ ID] Interval Transfer Bandwidth
    [ 4] 0.00-1.00 sec 638 MBytes 5.35 Gbits/sec
    [ 4] 1.00-2.00 sec 700 MBytes 5.85 Gbits/sec
    [ 4] 2.00-3.00 sec 738 MBytes 6.19 Gbits/sec
    [ 4] 3.00-4.00 sec 708 MBytes 5.96 Gbits/sec
    [ 4] 4.00-5.00 sec 754 MBytes 6.32 Gbits/sec
    [ 4] 5.00-6.00 sec 770 MBytes 6.44 Gbits/sec
    [ 4] 6.00-7.00 sec 836 MBytes 7.04 Gbits/sec
    [ 4] 7.00-8.00 sec 773 MBytes 6.48 Gbits/sec
    [ 4] 8.00-9.00 sec 705 MBytes 5.91 Gbits/sec
    [ 4] 9.00-10.00 sec 739 MBytes 6.19 Gbits/sec
    - - - - - - - - - - - - - - - - - - - - - - - - -
    [ ID] Interval Transfer Bandwidth
    [ 4] 0.00-10.00 sec 7.19 GBytes 6.17 Gbits/sec sender
    [ 4] 0.00-10.00 sec 7.19 GBytes 6.17 Gbits/sec receiver

    Or about 25% of the performance.

    What's going on here? Anyway to improve this?

    I'm using a 1500MTU. I tried changing everything to 9000, but it made no difference in performance, and connectivity started breaking on the Windows side.
     
  2. fernandodx

    fernandodx New Member

    Joined:
    Oct 13, 2018
    Messages:
    3
    Likes Received:
    0
    On the advanced properties of the nic of the windows guest, try disabling tcp offloading, I had some problems with this option in the past (but not related to speed)

    There are also some buffer configurations, try increasing those and see if it helps

    On proxmox there is also a multiqueue config on the network config of the guest, I usually use the same number of queues as cpu cores available to the guest
     
  3. spirit

    spirit Well-Known Member
    Proxmox VE Subscriber

    Joined:
    Apr 2, 2010
    Messages:
    3,196
    Likes Received:
    110
    virtio windows drivers are slower than linux..

    I never have been able to reach more than 7-8GBIts vs 30-40gbits with linux.

    (But I never has tested on a physical windows since years, not sure if windows can have a limit somewhere or if it comes from virtio driver)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice