Ok this one is bugging me to the point I am making a post to see if anyone has ideas as it really makes no sense.
On the top level my performance is ridiculously slow in relation to everything involved. I am only able to achieve just under 600MB/s using any setting or configuration I can think of. I have gone as far as nuking the turenas install and pool but got the same results.
System Overview
- TrueNAS SCALE Version: 25.04.2.1
- Storage Pool: 16× NVMe drives (currently in a striped vdev for testing; previously RAIDZ1)
- Network Interfaces:
- 25 GbE on Windows 11 test client (AMD 7950X)
- 100 GbE on Linux test client
- Test Clients:
- Windows 11 machine with 7950X and 25 GbE NIC
- Linux box with 100 GbE NIC
Full hardware and software details are in my forum signature.
Problem Description
Despite eliminating any vdev bottlenecks (using a full stripe), SMB throughput tops out just under 600 MB/s. This same ceiling appeared when the pool was configured as RAIDZ1, and persists across fresh OS and pool rebuilds.
Steps Taken to Troubleshoot
- Reinstalled TrueNAS SCALE and recreated the pool from scratch
- Converted the pool from RAIDZ1 to a single stripe of 16 drives
- Verified network performance with iperf3:
- 25 GbE link saturates at ~24 Gb/s
- 100 GbE link saturates bidirectionally at ~86 Gb/s
- Ran fio on the NAS itself to isolate storage stack: ~2,500 MB/s (appears single thread-bound)
Observed Performance
- SMB writes (Windows → NAS): ~580 – 600 MB/s
- SMB reads (Windows ← NAS): ~580 – 600 MB/s
- iSCSI writes/reads (Windows) : ~580 – 600 MB/s (identical to SMB)
- iperf3 (network-only): full line rate on both 25 GbE (~24 Gb/s) and 100 GbE (~86 Gb/s)
- fio (local, random/sequential tests): up to ~2,500 MB/s
I am open to any suggestions and have it torn apart for testing so I have no issues with destructive testing.