Neville005
Dabbler
- Joined
- Sep 18, 2021
- Messages
- 10
Thanks again for all of your replies! I truly appreciate your kindness and willingness to help me find a solution!
Thanks! I wasn't aware of this and will be more careful when considering the use of auxiliary parameters. Do you happen to know if things like Receive Side Scaling / SMB Multichannel are planned to receive official support in future versions?
To try and (further) rule out some potential hardware bottlenecks, I decided to do the following additional tests:
After all of these tests, I'm currently under the impression that I'm not dealing with a hardware bottleneck in my test scenario. The CPU has demonstrated to be capable of higher loads, different VDEV configurations and the use of a completely different drive didn't change performance, doubling my RAM to 16 GB did not help and different (Intel and Realtek) NIC's didn't cause an appreciable performance difference either (with available bandwidth being underused on all of them). I've removed unnecessary hardware components (the RX570 GPU), switched the NIC's to different PCIe slots, tried to use different boot drives and even changed my SATA cables. All without the positive performance improvements I was hoping for. I can't currently think of any other potential hardware bottlenecks that I haven't been able to rule out yet, but remain open to suggestions.
The only potential bottleneck that appear to remain (to me) is the software(/operating system) itself. Perhaps a bottleneck in the SMB protocol, perhaps a bottleneck in TrueNAS itself, perhaps a bottleneck in my software configuration or perhaps a bottleneck in something completely different. My knowledge is currently way to limited to even wager a proper guess. I'm open to any and all suggestions!
During my test scenario, the data transfer rate during uploads and downloads varies greatly (from 100 KB/sec to 250 MB/sec), but the amount of files that get handled each second remains fairly constant (only dipping slightly when working on the few larger files). I'm able to upload an average of 95 files per second, download an average of 63 files per second and delete an average of 220 files per second. As of yet, I haven't been to surpass these figures with different datasets. If anyone else is able to surpass these figures, no matter the hardware or datasets used, please let me know!
I'd also be very interested to hear if anyone might have a good alternative for SMB when working with Windows systems!
Thanks again for all the help!
Generally speaking, auxiliary parameters are an unsupported configuration. Things may work, but results are not guaranteed and we will most likely not troubleshoot bugs resulting from using them.
Thanks! I wasn't aware of this and will be more careful when considering the use of auxiliary parameters. Do you happen to know if things like Receive Side Scaling / SMB Multichannel are planned to receive official support in future versions?
To try and (further) rule out some potential hardware bottlenecks, I decided to do the following additional tests:
- I did a test where I used one of the Samsung 870 QVO SSD's as the boot drive and the Samsung 980 NVME M.2 drive as a single drive VDEV. The Samsung 980 NVME M.2 drive should, at least on paper, outperform a single QVO SSD and uses TLC instead of QLC, which should provide it with an improved sustained performance. If nothing else, if my QVO SSD's are currently a bottleneck, the 980 NVME M.2 drive should at least result in different performance figures in my test scenario. Nevertheless, the results of my test scenario were (within a margin of error) unchanged, leading me to conclude that my drives are not currently a bottleneck.
- As @Samuel Tai correctly pointed out, SMB is by default indeed limited to a single thread. However, as far as I'm aware, there isn't a limitation on the usage of that single thread. During my test scenario, the average CPU load is hovering around 15% with the highest single thread usage peaking around 45-50%. This is well below the maximum usage of a single thread (which should result in an average CPU load of 25%). When I transfer a single large file (of around 15 GB) to the TrueNAS system while having Receive Side Scaling enabled, CPU loads get pushed to around 50% with highest single thread usage peaking around 90%. As such, the CPU does seem to be able to handle higher (single thread) loads and does not appear to be the bottleneck during my test scenario.
After all of these tests, I'm currently under the impression that I'm not dealing with a hardware bottleneck in my test scenario. The CPU has demonstrated to be capable of higher loads, different VDEV configurations and the use of a completely different drive didn't change performance, doubling my RAM to 16 GB did not help and different (Intel and Realtek) NIC's didn't cause an appreciable performance difference either (with available bandwidth being underused on all of them). I've removed unnecessary hardware components (the RX570 GPU), switched the NIC's to different PCIe slots, tried to use different boot drives and even changed my SATA cables. All without the positive performance improvements I was hoping for. I can't currently think of any other potential hardware bottlenecks that I haven't been able to rule out yet, but remain open to suggestions.
The only potential bottleneck that appear to remain (to me) is the software(/operating system) itself. Perhaps a bottleneck in the SMB protocol, perhaps a bottleneck in TrueNAS itself, perhaps a bottleneck in my software configuration or perhaps a bottleneck in something completely different. My knowledge is currently way to limited to even wager a proper guess. I'm open to any and all suggestions!
During my test scenario, the data transfer rate during uploads and downloads varies greatly (from 100 KB/sec to 250 MB/sec), but the amount of files that get handled each second remains fairly constant (only dipping slightly when working on the few larger files). I'm able to upload an average of 95 files per second, download an average of 63 files per second and delete an average of 220 files per second. As of yet, I haven't been to surpass these figures with different datasets. If anyone else is able to surpass these figures, no matter the hardware or datasets used, please let me know!
I'd also be very interested to hear if anyone might have a good alternative for SMB when working with Windows systems!
Thanks again for all the help!