January 16, 20179 yr This is my first unRAID box, so be nice. I'm consistently getting 7MBps-9MBps write speeds regardless of whether I'm using rsync or SMB, which is unacceptable. Here's an overview of my setup: unRAID 6.2.4 2TB Western Digital Black parity disk (brand new) Currently a 3-disk array: Disk 1: 2TB Seagate Barracuda (brand new) Disk 2: 2TB WD Green (used) Disk 3: 1TB WD Red (used) For now, I'm not using a cache drive. AMD Athlon 5370 quad core CPU @ 2.2GHz (never seems to get above 25% utilization) ASRock AM1H Mini-ITX system board 8GB DDR3 1600 RAM IOCrest-SI-PEX40064 PCIe SATA III controller (some drives are connected via the controller and some via the motherboard; parity drive is connected via motherboard; Red 1TB drive I know is for sure connected via motherboard) To cut to the chase, here is a quick synopsis of what I've narrowed down thus far: 1. It is NOT the network. I've already confirmed gigabit speeds to/from the unRAID box. The below indicates an internal problem, anyway. 2. I tested writing random data directly to each mounted disk with dd. Write speeds on all three disks are consistently between 7MBps (Green) and 10MBps (Red and Barracuda). 3. I tested read speeds from all disks, including parity, using hdparm. Read was consistently between 120-150MBps (Green and Red) and 170-190MBps (Barracuda and Black). 4. I precleared the parity disk, and while I don't remember exactly what the write speeds for zerioing the disk were, I know it was something around 130MBps-140MBps. 5. Calculating parity I believe was about the same-- I know it took just over four hours to do so, which would put that at about 130MBps; I don't know enough about unRAID yet to know if all that time includes pure writes to the entire 2TB and not just part of it, but I assumed it was writing to the entire disk. From what I'm reading, the fact that all three array disks are writing at about the same terrible speed indicates something to do with the parity drive. Or maybe the hardware between the disks sucks really bad... just for writes? Everything is SATAIII, and while I don't expect miraculous speeds through my cheap motherboard and PCIe SATA card, I was expecting at minimum 20-25MBps write speeds with parity. I specifically got the WD Black disk for parity in the hopes that it would help improve write speeds a little, plus I got it for a good deal. Any thoughts, pointers, whatever? I'm not really sure what else to try next except boot up a vanilla version of Linux and test read/write speeds from all disks to verify my guess of it being parity rather than my hardware.
January 16, 20179 yr You have four drives, correct? Your MB has four SATA ports, correct? Why are you not plugging all four drives into the motherboard SATA ports? Am I missing something? You will get the best throughput using the motherboard SATA ports, don't use that controller card unless you need to add more disks. Also do a parity check and see what the speeds are like they should be upwards of 100MB/s
January 16, 20179 yr Author You have four drives, correct? Your MB has four SATA ports, correct? Why are you not plugging all four drives into the motherboard SATA ports? Am I missing something? You will get the best throughput using the motherboard SATA ports, don't use that controller card unless you need to add more disks. I actually have five disks, one of which is the SSD cache that I am currently leaving unused. I realize that I'd get maximum throughput if all disks were connected to the motherboard. The plan was to soon have eight disks total, however, so I purposefully staggered them across the two (four ports each), making sure to put the parity and cache disk on the motherboard. Regardless of disks on the PCIe controller, I wouldn't expect performance to be hit this significantly unless the controller was completely worthless, nor would I expect write speeds on the Red disk that was connected to the motherboard to be affected. Perhaps I haven't been in the unRAID scene long enough, though. All this being said, I moved all array disks to the four ports on the motherboard along with the parity disk just to verify whether the controller was acting as the bottleneck. Write speeds continue to max out at ~10MBps with this configuration, but at least I've narrowed the possibilities down by one. Oh, and I just started a parity check. After running for five minutes, it appears to be going at between 120MBps-130MBps consistently.
January 16, 20179 yr The speeds for your parity check are what they should be for your system. How are you determining the write speeds? Also what is your network topology? How many computers, network switches, what type of network cable do you have between this unRAID server, the network switch and the other computer you are testing the write speeds from, what brand and model is the switch? You should post your diagnostics from unRAID. Tools/diagnostics.
January 17, 20179 yr Author I've dived back in and have tested basically every component and protocol used, and it turns out it's nothing to do with unRAID. It's my rsync server on the other end pushing files (which is a Synology DS412+ running DSM 6.0, by the way). rsync from my Mac to the unRAID box achieved speeds of around 70MBps, as well as from my Mac to the Synology. For whatever reason, the Synology pushing files itself with whatever proprietary crap they've added on top of rsync, even without encryption or compression, is stuck at ~10MBps. I suppose I'll be consulting support on that one, though I doubt they'll have any solutions for me. By the way, the reason I was getting such abysmal write speeds locally is because I was using urandom as the input for dd. When I switched to /dev/zero, local write speeds shot up to the expected rates. I didn't realize urandom had such overhead for its generation, but it sure does, even across various machines. Lesson learned. Also, I had thought I was seeing SMB speeds of only 8-10MBps as well, but now I'm able to get both SMB and NFS speeds high enough sometimes to saturate my gigabit line. So I must have missed something somewhere initially. Perhaps I forgot to connect to Ethernet and was transferring over WiFi at the time without realizing it in the rush to get this working. Sorry for the wild goose chase. Thanks to those who shared their knowledge and time. Consider this case closed.
Archived
This topic is now archived and is closed to further replies.