November 20, 20241 yr Hey guys, I have an HP ProLiant ML150 Gen9 and have been using UnRAID for a week or two now and am at my wits end. When I first installed it, I found that the transfer speeds were abysmal. They were clocking at less than 1mb when transferring from my Windows PC to the share. I have 10k SAS drives so I didn't understand as they should be able to hit 6gb/s. I did not have a parity or cache drive set up so should have been copying straight to my drives. Then I heard people saying that having a cache drive would speed this up, so I went out and bought a 256gig SSD and set that up as a cache drive. I still have no parity drive as I want to have the highest speeds possible atm. I'm not too concerned with losing my data as this machine is just for streaming media. In this time I also swapped out most of my SAS drives for external harddrives as I was hitting my disk limit for my UnRAID licence, but these have been performing better than the SAS drives(but still slow). The SSD made transfers quicker, but really it has just delayed the problem because the SSD fills up and then I have to wait an ungodly amount of time for the SSD to clear itself out - the transfers to the array are so goddamn slow. About 5mb/s. In the process of getting to this point I wasn't paying attention (was up to 3am trying to figure it all out) and formatted my drives losing all my movies. It sucks but it's not the end of the world, I have my IMDB lists in Radarr so everything will be back eventually. But now I have this problem where my machine is basically downloading 24/7 and transferring 24/7. Files are moving from cache to parity at an unbelievably slow rate and my machine is so bogged down that it takes minutes to load into the webui of any of my docker containers. Starting, stopping, updating and editing containers, unzipping files and navigating UnRAID also takes way more time while transferring out of the cache. My CPU is currently sitting at 40-60% overall load. This has all made me think: how is this going to be viable going forward? I'm used to downloading many movies everyday to keep my library growing and I have up to 5 people streaming media remotely. If my machine takes a full 24 hours to move 230gigs to the array and I want to be able to download that much and maybe more every day (for example a full TV show) I just don't see UnRAID being a viable option. Something just doesn't feel right! These speeds can't be normal! But I can't find anything online about how to fix it. I can't even find anyone having the same issue as me. People online are complaining about 50mb/s when i'm struggling to hit a tenth of that. I have reconstruct write on, disks are in xfs mode. I have two 32gigs of ram and a 1gb/s network speed. Please help me! This has been a nightmare jetflix-diagnostics-20241121-0927.zip
November 21, 20241 yr Community Expert It sounds like you're experiencing a combination of bottlenecks that may involve hardware compatibility, Unraid settings, and possibly network configuration. Here's how you can troubleshoot and resolve these issues: 1. Disk I/O Troubleshooting Your extremely low speeds (5 MB/s) suggest there’s a bottleneck with your array or cache handling. SAS Drive Configuration HBA Mode: Ensure that your SAS controller is set to HBA (passthrough) mode, not RAID. RAID controllers can throttle performance if not configured correctly for Unraid. Connection Type: SAS drives require proper cabling and a compatible controller. Ensure the drives are directly connected to an HBA controller without intermediary expanders that may cause overhead. Check Disk Health: Use SMART tests on all drives to verify no hardware issues are causing degraded performance. Cache Drive Check the SSD health using SMART tests. Ensure the SSD is using an appropriate connection (e.g., SATA 6 Gbps or NVMe) and isn’t limited by an older controller. Increase Mover frequency to avoid prolonged cache flushes: Go to Settings > Scheduler > Mover Settings. Set the mover to run hourly to keep the cache clear. File System Verify all disks in the array are formatted with xfs or btrfs for best performance. Avoid mixed filesystems. 2. Network Troubleshooting With a 1 Gbps network, you should achieve transfer speeds of ~100 MB/s under normal conditions. Check Network Settings Jumbo Frames: Ensure MTU is set to 1500 for both your Unraid server and the Windows PC. Jumbo frames (e.g., MTU 9000) can cause issues if not consistently applied across the network. Flow Control: Disable flow control on the network interface card (NIC) of both your Unraid server and PC if possible. Test Raw Network Performance Use iperf to test raw network speeds between your PC and the Unraid server: Install iperf on both machines. Run a test to confirm you’re achieving 1 Gbps speeds. SMB Tuning Adjust SMB settings for better performance: Go to Settings > SMB > SMB Extra Config. Add the following lines [global] socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 3. Array and Mover Performance Unraid’s array writing process may still be the bottleneck. Without parity, writes should be faster, but several factors can still affect performance: Reconstruct Write (Turbo Write) Ensure Settings > Disk Settings > Tunable (md_write_method) is set to reconstruct write. This mode improves write speeds by spinning up all drives during writes. Enable Direct Writes to Array Set your shares to bypass the cache for large files: Go to Shares > Select Share > Use Cache and set it to No. Optimize Docker Performance Docker activity can bog down performance. Ensure that your Docker image resides on the cache drive and not the array: Go to Settings > Docker > Docker vDisk location. Point it to the SSD cache drive for better performance. 4. Hardware Bottlenecks CPU and RAM The HP ProLiant ML150 Gen9 may be CPU-limited, especially under high loads like Docker usage and array writes. Monitor CPU usage in Dashboard > CPU Load. If Docker containers or plugins are using excessive memory, this can slow overall performance. Check memory usage under Dashboard > Memory. Potential Upgrade If the SAS drives are performing worse than external hard drives, consider consolidating with modern SATA or NVMe SSDs. 5. Steps to Test and Validate Test Direct Writes: Write a large file directly to a disk share (e.g., \\tower\disk1) instead of a user share. This will isolate the issue to array configuration vs network. Disable Docker/VMs Temporarily: Go to Settings > Docker and stop the Docker service. Go to Settings > VM Manager and stop the VM service. Test the performance again. Benchmark Individual Drives: Use the DiskSpeed plugin to benchmark all drives in the array. Identify any drives with significantly lower performance. Monitor Mover Activity: Check the logs during a mover operation to see if there are errors or slowdowns. Additional Notes Streaming media to multiple users while writing to the array can stress both your CPU and disks. Offloading transcoding to a GPU (via a supported Docker container) or pre-transcoding media files can help. Consider adding a parity drive after resolving the speed issues to protect your data long-term. Other Disk settings like turbo write mode...
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.