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.

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.

# 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:

# 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.

Suzune
link
fedilink
English
48M

Any errors on the interfaces? Does tcpdump show something interesting? What do the system logs say?

Create a post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

  • 1 user online
  • 126 users / day
  • 421 users / week
  • 1.16K users / month
  • 3.85K users / 6 months
  • 1 subscriber
  • 3.68K Posts
  • 74.2K Comments
  • Modlog