Terrible Network Upload Speeds from Proxmox Host

uninvitedguest

New Member
Apr 10, 2023
2
0
1
I've had fun building a plucky little homelab on Proxmox 8.1.4 running kernel 6.5.13-1-pve. It's installed on an HP EliteDesk 800 G6 Desktop Mini PC, with the OS installed on a SATA SSD, there being a 4tb NVME btrfs pool, and there being multiple HDD's connected via USB3. Services are run an an LXC that has Docker installed, a couple other application specific LXC's, and a VM for HAOS.

A persistent issue I haven't been able to solve for is absolutely terrible network upload speeds. Sending files over the network to the server is generally fine, however retrieving files from the server is severely limited. 1-3 MB/s. It's bad enough that when streaming a movie through Jellyfin, attempting to copy a file from the server at the same time causes the movie to hang while Jellyfin attempts to buffer. I access many of the services locally through a domain name I own (combo of pihole local DNS and NGINX proxy manager), however these network speed issues persist even when connected directly by IP. The issue also persists when accessing the files through an LXC.

It is not a disk access issue - regardless of whether it is the HDD or any of the SSD's being accessed the results are the same. There are two NICs - one built, and a HP specific add in card the Intel I225-V. The issue persists on both.

Code:
00:1f.6 Ethernet controller [0200]: Intel Corporation Ethernet Connection (11) I219-LM [8086:0d4c]
DeviceName: Onboard Lan
Subsystem: Hewlett-Packard Company Ethernet Connection (11) I219-LM [103c:870f]
Flags: bus master, fast devsel, latency 0, IRQ 126
Memory at e1400000 (32-bit, non-prefetchable) [size=128K]
Capabilities: [c8] Power Management version 3
Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Kernel driver in use: e1000e
Kernel modules: e1000e

03:00.0 Ethernet controller [0200]: Intel Corporation Ethernet Controller I225-V [8086:15f3] (rev 03)
Subsystem: Hewlett-Packard Company Ethernet Controller I225-V [103c:87b9]
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at e1000000 (32-bit, non-prefetchable) [size=1M]
Memory at e1100000 (32-bit, non-prefetchable) [size=16K]
Capabilities: [40] Power Management version 3
Capabilities: [50] MSI: Enable- Count=1/1 Maskable+ 64bit+
Capabilities: [70] MSI-X: Enable+ Count=5 Masked-
Capabilities: [a0] Express Endpoint, MSI 00
Capabilities: [100] Advanced Error Reporting
Capabilities: [140] Device Serial Number c0-18-03-ff-ff-65-2f-06
Capabilities: [1c0] Latency Tolerance Reporting
Capabilities: [1f0] Precision Time Measurement
Capabilities: [1e0] L1 PM Substates
Kernel driver in use: igc
Kernel modules: igc

Running iperf3 on the built in NIC (clients is a laptop connected by wifi) demonstrates the issue: Client side sending data to the server is fine and probably wifi limited, while uploads from the server are significantly slower.

Code:
# iperf3 -c IP

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  18.2 MBytes   153 Mbits/sec    0    841 KBytes
[  5]   1.00-2.00   sec  25.9 MBytes   217 Mbits/sec    0   2.12 MBytes
[  5]   2.00-3.00   sec  30.0 MBytes   252 Mbits/sec    0   3.17 MBytes
[  5]   3.00-4.00   sec  33.4 MBytes   280 Mbits/sec    0   3.17 MBytes
[  5]   4.00-5.00   sec  32.2 MBytes   271 Mbits/sec    0   3.17 MBytes
[  5]   5.00-6.00   sec  28.1 MBytes   236 Mbits/sec    0   3.17 MBytes
[  5]   6.00-7.00   sec  33.9 MBytes   284 Mbits/sec    0   3.17 MBytes
[  5]   7.00-8.00   sec  33.8 MBytes   283 Mbits/sec    0   3.17 MBytes
[  5]   8.00-9.00   sec  31.9 MBytes   267 Mbits/sec    0   3.17 MBytes
[  5]   9.00-10.02  sec  28.9 MBytes   238 Mbits/sec   34   2.31 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.02  sec   296 MBytes   248 Mbits/sec   34             sender
[  5]   0.00-10.09  sec   296 MBytes   246 Mbits/sec                  receiver

# iperf3 -c IP -R

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  10.1 MBytes  84.9 Mbits/sec
[  5]   1.00-2.00   sec  12.4 MBytes   104 Mbits/sec
[  5]   2.00-3.00   sec  9.62 MBytes  80.7 Mbits/sec
[  5]   3.00-4.00   sec  4.50 MBytes  37.7 Mbits/sec
[  5]   4.00-5.00   sec  2.88 MBytes  24.1 Mbits/sec
[  5]   5.00-6.00   sec  3.12 MBytes  26.2 Mbits/sec
[  5]   6.00-7.00   sec  5.88 MBytes  49.3 Mbits/sec
[  5]   7.00-8.00   sec  4.50 MBytes  37.8 Mbits/sec
[  5]   8.00-9.00   sec  5.62 MBytes  47.2 Mbits/sec
[  5]   9.00-10.00  sec  5.12 MBytes  43.0 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  64.9 MBytes  54.4 Mbits/sec  501             sender
[  5]   0.00-10.00  sec  63.8 MBytes  53.5 Mbits/sec                  receiver

Similarly, when running on the I225-V:

Code:
# iperf3 -c IP

[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  32.0 MBytes   268 Mbits/sec    0   1.57 MBytes
[  5]   1.00-2.00   sec  33.6 MBytes   282 Mbits/sec    0   2.62 MBytes
[  5]   2.00-3.00   sec  36.5 MBytes   306 Mbits/sec    0   3.13 MBytes
[  5]   3.00-4.00   sec  38.1 MBytes   320 Mbits/sec    0   3.13 MBytes
[  5]   4.00-5.00   sec  36.1 MBytes   303 Mbits/sec    0   3.13 MBytes
[  5]   5.00-6.00   sec  33.2 MBytes   279 Mbits/sec    0   3.13 MBytes
[  5]   6.00-7.00   sec  28.5 MBytes   239 Mbits/sec    0   3.13 MBytes
[  5]   7.00-8.00   sec  32.6 MBytes   274 Mbits/sec    0   3.13 MBytes
[  5]   8.00-9.00   sec  32.2 MBytes   270 Mbits/sec    0   3.13 MBytes
[  5]   9.00-10.00  sec  35.1 MBytes   294 Mbits/sec    0   3.13 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   342 MBytes   287 Mbits/sec    0             sender
[  5]   0.00-10.02  sec   340 MBytes   285 Mbits/sec                  receiver

# iperf3 -c IP -R

[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  21.4 MBytes   179 Mbits/sec
[  5]   1.00-2.00   sec  6.50 MBytes  54.5 Mbits/sec
[  5]   2.00-3.00   sec  4.38 MBytes  36.7 Mbits/sec
[  5]   3.00-4.00   sec  6.62 MBytes  55.6 Mbits/sec
[  5]   4.00-5.00   sec  9.75 MBytes  81.8 Mbits/sec
[  5]   5.00-6.00   sec  6.50 MBytes  54.5 Mbits/sec
[  5]   6.00-7.00   sec  4.75 MBytes  39.8 Mbits/sec
[  5]   7.00-8.00   sec  3.88 MBytes  32.5 Mbits/sec
[  5]   8.00-9.00   sec  8.00 MBytes  67.1 Mbits/sec
[  5]   9.00-10.00  sec  7.88 MBytes  66.1 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.01  sec  83.2 MBytes  69.8 Mbits/sec  530             sender
[  5]   0.00-10.00  sec  79.6 MBytes  66.8 Mbits/sec                  receiver

Many of the issues that I've seen around the I225-V have to do with power management and it dropping network connection after time - that is not an issue here. I'm grateful for any leads or further troubleshooting steps.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!