I have a QNAP TS-433 running QTS 5.2.10 with the built-in 2.5 GbE interface.
System details:
Model: TS-X33
QTS: 5.2.10
Kernel: 5.10.60-qnap
Architecture: aarch64
NIC driver: r8125
Driver version: 9.007.01-NAPI
The issue is that the 2.5 GbE interface does not provide stable 2.5 GbE performance and shows a large amount of TCP retransmissions / receive-side packet drops.
I initially noticed the problem because video playback over SMB from an external USB HDD connected to the QNAP was stuttering badly.
The external HDD itself is not the bottleneck. Local copying on the QNAP from that disk is around 70–100 MB/s, while SMB reading from the Mac was initially only around:
9 MB/s
After disabling some Cisco Secure Client components on the Mac and rebooting, SMB performance improved to approximately:
81 MB/s
So there was a separate Mac/Cisco-related SMB issue, but further testing revealed an independent network problem on the QNAP side.
The network consists of the Mac, a Mac mini and the QNAP connected to the same 2.5 GbE switch.
Mac ↔ Mac mini performance is essentially perfect:
~2.35 Gbit/s
Example:
2.74 GBytes transferred
2.35 Gbit/s
111 retransmissions
Reverse direction is similarly stable:
2.35 Gbit/s
43 retransmissions
With 4 parallel streams:
Mac -> Mac mini:
2.35 Gbit/s
363 retransmissions
Mac mini -> Mac:
2.35 Gbit/s
92 retransmissions
However, the QNAP behaves very differently.
Typical Mac → QNAP test:
2.12 Gbit/s
3963 retransmissions
Another run:
2.06 Gbit/s
4350 retransmissions
Another run:
2.11 Gbit/s
2968 retransmissions
The reverse direction is even worse and very unstable.
Example QNAP → Mac:
1.34 Gbit/s
During the test throughput varied approximately between:
0.95 Gbit/s - 1.86 Gbit/s
Another reverse test:
1.21 Gbit/s
412 retransmissions
Four parallel streams did not fix the issue.
Mac → QNAP with -P 4:
1.90 Gbit/s
17679 retransmissions
QNAP → Mac with -R -P 4:
1.19 Gbit/s
1549 retransmissions
This is particularly interesting because on the same Mac and the same switch, the Mac mini consistently reaches 2.35 Gbit/s with almost no packet loss.
I also checked the QNAP NIC statistics with:
ethtool -S eth0
During a single iperf test, the counters changed from:
rx_missed: 24545
rx_mac_error: 117
rx_mac_missed: 720535
to:
rx_missed: 27430
rx_mac_error: 123
rx_mac_missed: 720628
So during that one test:
rx_missed: +2885
rx_mac_error: +6
rx_mac_missed: +93
The iperf test at the same time reported:
2968 retransmissions
The almost identical scale of rx_missed and TCP retransmissions strongly suggests receive-side packet loss on the QNAP NIC/driver.
The NIC reports:
Speed: 2500Mb/s
Duplex: Full
Auto-negotiation: on
Link detected: yes
I have already tested different Ethernet cables and different switch ports. The results remain the same.
EEE is also disabled:
EEE status: disabled
Tx LPI: disabled
Flow control is configured as:
RX: on
TX: on
RX negotiated: off
TX negotiated: off
The driver capabilities are also interesting:
receive-hashing: off [fixed]
scatter-gather: off
tcp-segmentation-offload: off
generic-segmentation-offload: off
generic-receive-offload: on
The interface only exposes one RX queue and one TX queue:
/sys/class/net/eth0/queues/
rx-0
tx-0
There is also only one NIC interrupt:
eth0-0
and hardware receive hashing / RSS is not available.
I also tested IRQ affinity and RPS.
IRQ affinity changes did not materially improve performance:
CPU3 only:
~2.00 Gbit/s
4011 retransmissions
CPU1-3:
~2.05 Gbit/s
5006 retransmissions
RPS was initially disabled:
rps_cpus = 0
xps_cpus = 0
I enabled RPS across all four CPUs:
echo f > /sys/class/net/eth0/queues/rx-0/rps_cpus
but this also did not solve the issue.
I also tested the NIC at 1 GbE.
At 1 GbE the situation improves significantly:
Mac -> QNAP:
~939 Mbit/s
682 retransmissions
QNAP -> Mac:
~854-914 Mbit/s
~500-600 retransmissions
So the problem becomes much more severe specifically at 2.5 GbE speeds.
At this point I have ruled out:
- Ethernet cable
- switch port
- the switch itself
- the Mac 2.5 GbE interface
- EEE
- simple IRQ affinity issues
- RPS configuration
- external HDD performance
- SMB as the underlying network cause
The common remaining factor is the RTL8125 interface using the QNAP r8125 9.007.01-NAPI driver.
Based on the discussion in this thread, it also appears that newer r8125 versions have been tested on the TS-433.
Has anyone received an official QNAP firmware build containing a newer RTL8125 driver?
In particular, I would be interested to know whether QNAP plans to update the TS-433 from:
r8125 9.007.01-NAPI
to a newer driver version in a future QTS release.
From my measurements, this does not look like a simple performance limitation: the NIC is actually incrementing rx_missed counters under load, causing TCP packet loss and thousands of retransmissions.