Jump to content
We're Hiring! Full Stack Developer ×

Parity reduces speed by 50%


eppa702

Recommended Posts

So i just setup a new Unraid box with some old hardware that i had laying around and ended up with the following:

 

Unraid Pro License

Chassis: Supermicro Super Chassis 36 LFF Bays
M/B: Supermicro X8DTH
CPU: Intel Xeon CPU X5550 @ 2.67GHz
RAM: 48GB ECC DDR3
NIC: Intel 10Gbit SFP+
Cache: Corsair 1TB MP600 NVMe

 

To get me started i am using a couple of really old WD7500AACS drives from 2008 just to do some testing (SMART extensive test indicates no errors other than old age). Initially i setup unraid without any parity drives at all (remember this is just testing) and considering the age of the drives i am testing with i was pretty happy with the results ~70MB/sec. However when i added dual parity to the setup, the speed dropped by more than 50% never reaching more than 30MB/sec. The Xeon CPU should have no problems doing the parity calculations but i guess the question is how much I/O is required for parity in order to maintain the speed? This test was done using a share with the cache option set to no.

 

When i copied files to a share that was utilizing the cache, write speeds were excellent at  ~110MB/sec (the machine sending files was on 1GB network link), but when the mover attempted to move the files from the cache to the array i was getting speeds of 10-30MB/sec which is rather slow even for old disks as these. Since the drop in performance is so great i am currently running without parity while doing an initial data transfer from my other server.  

 

The plan is to purchase new disks once i have a setup that i am happy with, but before i invest in new drives i would like to understand if this issue is most likely due to the old drives and their limitations or if there is a software issue somewhere. I can understand a slight performance drop due to parity but more than 50% seems excessive. If i replaced just the parity drive with a modern drive such as Seagate IronWolf drives (256MB Cache, 7200RPM) do you think i would see normal speeds? Would there be any advantage to using a SSD as a parity drive? Since i have 36 bays to utilize i am strongly considering purchasing more smaller drives rather than having fewer drives with large capacity. 

 

Would love to get some input on this :) 

Link to comment

Writing to the parity protected array is slow due to the amount of I/O involved.  The above link explains this in more detail plus ways to potentially improve this, in particular the Turbo Write mode.
 

Using a cache disk can improve this from an end-users perspective as writing to the cache is determined by the drives used there and if they are SSDs this can be very fast.    Moving the files from cache to array is still slow but this is normally scheduled to run in quiet periods so is not visible to the end-user.   However if does mean that you can fill the cache up much faster than it gets emptied so during initial load it is recommended that if possible you DO run without parity to maximise performance (at the expense of the data initially being unprotected against drive failure).  Having said that if you do not have a backup of your data you may prefer to take the performance hit of slow writes to the array so that your data is protected on the array from the outset.

Link to comment
37 minutes ago, itimpi said:

if you do not have a backup of your data

And you should at least have another copy of anything important and irreplaceable whether or not you have parity. Parity is NOT a substitute for a backup plan. Many of us don't backup everything on our large capacity servers. You get to decide what qualifies as important and irreplaceable.

Link to comment
3 hours ago, trurl said:

Perfect that solved alot! I am seeing much better performance. Learn something new everyday i guess. 

 

2 hours ago, trurl said:

And you should at least have another copy of anything important and irreplaceable whether or not you have parity. Parity is NOT a substitute for a backup plan. Many of us don't backup everything on our large capacity servers. You get to decide what qualifies as important and irreplaceable.

There is no sensitive data on the array anyway and critical data is replicated to a DR site :) 

 

Thanks for all your help!

Link to comment

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...