XCP-NG Networking - upload speeds from VMs at half speed

I’ve discovered that uploads from any running VM are at half speed. My Host is a Dell SFF 7050

dmesg shows this for the Dell’s e1000e NIC

[10:41 xcp-ng-dell ~]# dmesg |grep e100
[    3.197610] e1000e: loading out-of-tree module taints kernel.
[    3.201423] e1000e: Intel(R) PRO/1000 Network Driver - 3.8.7-NAPI
[    3.201424] e1000e: Copyright(c) 1999 - 2020 Intel Corporation.
[    3.201819] e1000e 0000:00:1f.6: Interrupt Throttling Rate (ints/sec) set to dynamic conservative mode
[    3.294085] e1000e 0000:00:1f.6 0000:00:1f.6 (uninitialized): registered PHC clock
[    3.378564] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) d8:9e:f3:33:a4:f2
[    3.378566] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    3.378631] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF
[    4.837709] e1000e 0000:00:1f.6 side-7857-eth0: renamed from eth0
[    6.194387] e1000e 0000:00:1f.6 eth0: renamed from side-7857-eth0
[   10.840005] e1000e 0000:00:1f.6 eth0: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Download speeds are gigabit however uploads are half that. I’ve tested a few VMs and all do the same to multiple internal targets while my other pc’s have gigabit up/downloads.

Any clues I should be looking for please?

Update:

I did some testing between the a Unix VM and a Synology NAS with a 3Gb file -

Direction - Up = upload from VM to NAS and vice versa.

Protocol: FTP - Up 55MB/s and Down 115MB/s
Protocol: smb - Up 46MB/s - Down 89MB/s

I then installed a USB RTL8153 Gigabit Ethernet Adapter to the host and created a new network. I removed the original network from the VM and connected the new USB network with these results:

Protocol: FTP - Up 105MB/s and Down 116MB/s
Protocol: smb - Up 77MB/s - Down 84MB/s ** Note the speeds for both up and down slowly increased by approx. 2MB/s during the transfer - not sure why.

So the Dell’s internal network card isn’t performing as well as the USB, so maybe I need to install different drivers, however I have no idea how to do that so any suggestions are welcome.

To do proper troubleshooting for speed you should start with testing the XCP-ng host using iperf3 between the host and some other system that is connecting on the same network. Protocols such as SMB and FTP have much more CPU overhead which can skew the results.

1 Like

Thanks Tom - did test the VMs using iperf3 with similar results - I’ll need to install iperf3 on the host.

Same results with the Dell’s internal network card:

[21:36 xcp-ng-dell ~]# iperf3  -c 192.168.1.252 -f M
Connecting to host 192.168.1.252, port 5201
[  5] local 192.168.1.10 port 55824 connected to 192.168.1.252 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  55.3 MBytes  55.3 MBytes/sec    0    274 KBytes
[  5]   1.00-2.00   sec  54.7 MBytes  54.7 MBytes/sec    0    288 KBytes
[  5]   2.00-3.00   sec  54.7 MBytes  54.7 MBytes/sec    0    339 KBytes
[  5]   3.00-4.00   sec  54.9 MBytes  54.9 MBytes/sec    0    339 KBytes
[  5]   4.00-5.00   sec  54.6 MBytes  54.6 MBytes/sec    0    339 KBytes
[  5]   5.00-6.00   sec  54.6 MBytes  54.6 MBytes/sec    0    339 KBytes
[  5]   6.00-7.00   sec  54.7 MBytes  54.7 MBytes/sec    0    358 KBytes
[  5]   7.00-8.00   sec  55.0 MBytes  55.0 MBytes/sec    0    378 KBytes
[  5]   8.00-9.00   sec  54.4 MBytes  54.4 MBytes/sec    0    378 KBytes
[  5]   9.00-10.00  sec  54.8 MBytes  54.8 MBytes/sec    0    378 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   548 MBytes  54.8 MBytes/sec    0             sender
[  5]   0.00-10.00  sec   547 MBytes  54.7 MBytes/sec                  receiver

iperf Done.
[21:37 xcp-ng-dell ~]# iperf3  -c 192.168.1.252 -f M -R
Connecting to host 192.168.1.252, port 5201
Reverse mode, remote host 192.168.1.252 is sending
[  5] local 192.168.1.10 port 55828 connected to 192.168.1.252 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   107 MBytes   107 MBytes/sec
[  5]   1.00-2.00   sec   107 MBytes   107 MBytes/sec
[  5]   2.00-3.00   sec   108 MBytes   108 MBytes/sec
[  5]   3.00-4.00   sec   108 MBytes   107 MBytes/sec
[  5]   4.00-5.00   sec   111 MBytes   111 MBytes/sec
[  5]   5.00-6.00   sec   112 MBytes   112 MBytes/sec
[  5]   6.00-7.00   sec   112 MBytes   112 MBytes/sec
[  5]   7.00-8.00   sec   112 MBytes   112 MBytes/sec
[  5]   8.00-9.00   sec   112 MBytes   112 MBytes/sec
[  5]   9.00-10.00  sec   112 MBytes   112 MBytes/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  1.07 GBytes   110 MBytes/sec  141             sender
[  5]   0.00-10.00  sec  1.07 GBytes   110 MBytes/sec                  receiver

Odd, assuming these tests are being done on the same subnet, perhaps try a different cable, maybe another switch.