November 18, 20241 yr I have been searching everywhere and cannot seem to figure this out. I have shares on my array that I can write to at 270ish MB/s (or however Window shows speed) from windows. However, downloading/writing from the exact same array is extremely slow, about 1-2MB/s. I am on a 2.5GBe connection (Windows) to an aggregating switch and 10GBe fiber to server. I have tried caching the array and not with the same results. I checked all fiber and ethernet connections and cables. There must be a setting I am missing. Any help is appreciated.
November 19, 20241 yr Community Expert Troubleshooting Steps Summary Test array and cache performance using direct tools like dd or hdparm. Verify network speeds using iperf3. Optimize SMB settings on both unRAID and Windows. Check and tune Jumbo Frames, Flow Control, and bonding settings. Rule out physical hardware issues (drives, cables, ports). If these steps don’t resolve the issue, please share more specifics about your configuration (cache devices, array setup, NIC models), and we can dig deeper! It sounds like you're facing a network or configuration issue that's throttling your download speeds from the unRAID server, despite having fast upload speeds to it. Here's how you can troubleshoot and optimize the setup: I personly use ftp and file zilla and don't see the speed issues. Protcal and what is talking and doping what plays a big part. Please post diag file to have us help you troubleshoot the issue... CMR/SMR / NVME read wrte speeds: Check Disk and Array Settings Turbo Write (Reconstruct Write): Turbo write can significantly improve write speeds to the array. It works by spinning up all drives and reconstructing parity in real time. Enable it in Settings > Disk Settings > Tunable (md_write_method): Set to "reconstruct write" for maximum speed. If not already enabled, test the difference in performance. Share Settings: Ensure your shares are using the appropriate cache configuration: Set "Use cache pool" to Yes or Prefer if you have a cache pool. For testing, bypass the cache pool by setting it to No and test direct reads/writes. a. Test Network Speed Run a network speed test between the Windows machine and unRAID to confirm the connection can sustain high speeds: Use iperf3 on both devices: Install iperf3 on unRAID using the NerdPack plugin. https://slackbuilds.org/repository/15.0/network/iperf3/?search=iperf3 cd /boot/extra wget https://slackbuilds.org/slackbuilds/15.0/network/iperf3.tar.gz On unraid iperf3 -s on windows: iperf3 -c <unRAID IP> Look for any bottlenecks or inconsistent speeds. b. Jumbo Frames Check if Jumbo Frames (MTU size) is enabled on all devices: unRAID: Go to Settings > Network Settings and set MTU to 9000 (if supported by your hardware). Switch: Ensure the aggregating switch supports Jumbo Frames and is configured for it. Windows: Set MTU to 9000 in the NIC settings. *Even other windows settings as windows doen't optimize and saturate the network... c. Network Bonding If unRAID uses multiple NICs in a bond (e.g., bond0): Ensure the switch and server are configured correctly for the bonding mode. Test with Active Backup (mode 1) or disable bonding to rule out misconfigurations. d. Flow Control On unRAID and Windows NICs, disable Flow Control in the network settings. This can sometimes cause performance issues on high-speed networks. SMB Settings a. Tunable SMB Settings (on unRAID) Modify the Samba (SMB) configuration for optimal performance: Go to Settings > SMB > SMB Extras. [global] socket options = TCP_NODELAY IPTOS_LOWDELAY server multi channel support = yes aio read size = 1 aio write size = 1 Enable SMB Multichannel (on Windows) powershel: Set-SmbClientConfiguration -EnableMultiChannel $true Disable SMB Signing (on Windows) SMB signing can slow down file transfers: Open Group Policy Editor (gpedit.msc). Navigate to Computer Configuration > Administrative Templates > Network > Lanman Workstation. Set "Enable insecure guest logons" to Enabled. Restart the computer. 4. Disk Speed Test Confirm array read speeds are not the bottleneck: Use the DiskSpeed Docker container or hdparm command to check read/write speeds of each drive in the array. hdparm -Tt /dev/sdX If a specific disk shows much slower speeds, it could be a hardware or filesystem issue. 5. Test Without Aggregation Temporarily disable aggregation on the switch and server, testing with a single NIC to rule out bonding/aggregation issues. Advanced Cache Testing If you're using a cache pool (e.g., SSDs): Test speeds directly to the cache pool without the array involved. Ensure TRIM is enabled on SSDs *Should be a undia disk ui setting now... ? I think this is the command: fstrim -v /mnt/cache 8. Test File Transfer Protocols Try transferring files using a different protocol (e.g., NFS or FTP) to rule out SMB-specific issues.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.