I've just moved from an old Thecus NAS (running Rockstor) with 8*4TB NL SAS drives to a Dell R740XD with 8 * 3.84TB SAS SSD drives running TrueNAS. Each SSD is rated > 12Gbps sequential read/write.
Although I really like the general utility of TrueNAS, I'm struggling to make it good. The performance should be awesome, and yet, I'm struggling to get near the performance of the spinning drives.
I have the following problems:
Networking
Samba
Single dd command (1M BS to 1M RS, no compression, sync) = 424MB/s (disappointing given the hardware, and strange that crystal disk mark from a Windows 11VM over NFS gets 1000MB/s).
16 parallel dd commands = 162MB/s PER thread, so 2592MB/s total.
I don't know if this is a red herring, but I experimented with dedup on a dataset, and practically killed the box at one point trying to move some large files
. I removed the dataset involved and rebuilt it, however, I've not rebuilt the pool or anything. I'm trying to remember if that was the point everything went bad.
I have about 100 tabs open trying to work through all the tuning options, but nothing seems to be making a difference, and I'm hoping someone who knows more can point me in a good direction.
Although I really like the general utility of TrueNAS, I'm struggling to make it good. The performance should be awesome, and yet, I'm struggling to get near the performance of the spinning drives.
I have the following problems:
Networking
- 10GB networking on the TrueNAS Core is slow using iperf(2/3). Looking through all the links I can on the forum, I can't break 2Gb/s OOTB, and with tuning, can manage 3.9Gb/s UDP and 1.2Gb/s TCP using iperf3.
- Using the old Thecus NAS with a 10G network card in, I get > 8Gb/s OOTB.
- Spin up a TrueNAS Scale VM with exactly the same network and test iperf, and I get 8Gb/s OOTB immediately.
- Using a 2nd 10G NIC for a storage network (NFS) back to the hypervisor, and I get wire speed on the sequential read in Windows 10 VMs using it.
- Turn on jumbo to test from my machine, and I can get 8Gb/s on all links, but I can't enable jumbo because many devices use the shares. Jumbo is only usable for the private storage network.
- Performance of copying large files is just _awful_ on TN. It's obviously constrained by the network to start with at around 220MB/s, but after a while copying it drops to a few MB/s. Check out the 2 pictures. The top is the new, the bottom is the old (apples and oranges I know ZFS vs BTRFS). Source files coming from NVME PCI4 .
-
- When the speed drops, there appears to be nothing much going on at all on the TN. All graphs show no activity.
Single dd command (1M BS to 1M RS, no compression, sync) = 424MB/s (disappointing given the hardware, and strange that crystal disk mark from a Windows 11VM over NFS gets 1000MB/s).
16 parallel dd commands = 162MB/s PER thread, so 2592MB/s total.
I don't know if this is a red herring, but I experimented with dedup on a dataset, and practically killed the box at one point trying to move some large files
I have about 100 tabs open trying to work through all the tuning options, but nothing seems to be making a difference, and I'm hoping someone who knows more can point me in a good direction.