What can I do to improve write speeds with parity?


Recommended Posts

Currently I have 6x6TB WD Red Pros, and a 12TB WD Gold as parity.

 

I have 2x256GB Samsung 830 SSDs as cache in JBOD.

 

https://imgur.com/4P4Jts5

 

I have gigabit internet, so if I am downloading at line speed from newsgroups, I can fill the cache drives in less than 90 mins. As such I have mover running hourly, but it can't shift the data fast enough.

 

Writes max out at about 50mbytes/sec to the array. All the HDDs are on an LSI controller, the SSDs are on the motherboard ports (H370). CPU is an i7 8700 and it has 32GB of ram.

 

Am I just screwed short of say, a massive cache drive, or a big SSD as parity?

Link to comment

You can speed up the array write speed by turning on "construct write" which is most often called "turbo write" on the forum.

 

This means that all disks in the array needs to be up and spinning, but array writes can be performed without any read/modify/write cycle. The current target disk and the parity disks will only receive writes while the remaining data disks will only perform reads. This means you can get close to the max speed of the slowest disk in the array. With the traditional read/modify/write method, your target disk and the parity disks needs to first read out the old content. Then patch the parity data based on how the new write to the data disk modifies the individual bits.

 

First off, read/modify/write performs twice as much transfers which halves the max speed. But it also introduces additional seeks which further reduces the performance. The obvious advantage with read/modify/write is that all other data disks can be spun down.

Link to comment

I'm in the same boat. Just built a server with 5x8TB drives (4 data 1 parity) (WD Red)

And during the preclear i had around 155MB/s avg read/write and the parity check had an avg around 135MB/s. 
 

But now that i copy data to the array i get around 40-50MB/s. If i copy from the array i saturate my gbit lan at around 110-115MB/s.
I dont know if 40-50M/s is acceptable, i have a cache SSD drive im gonna use when im done copying over the data because i dont want to put 20TB of data throught it on this first copy.

So my question is, is 40-50MB/s writes acceptable? I see that some ppl are getting 80-90 MB/s. The files are around 5-12GB each. 
 

Link to comment
50 minutes ago, Luke_Starkiller said:

I'm in the same boat. Just built a server with 5x8TB drives (4 data 1 parity) (WD Red)

And during the preclear i had around 155MB/s avg read/write and the parity check had an avg around 135MB/s. 
 

But now that i copy data to the array i get around 40-50MB/s. If i copy from the array i saturate my gbit lan at around 110-115MB/s.
I dont know if 40-50M/s is acceptable, i have a cache SSD drive im gonna use when im done copying over the data because i dont want to put 20TB of data throught it on this first copy.

So my question is, is 40-50MB/s writes acceptable? I see that some ppl are getting 80-90 MB/s. The files are around 5-12GB each. 
 

 

Not sure if you read my post - the one just above your.

 

1 hour ago, pwm said:

read/modify/write performs twice as much transfers which halves the max speed

 

So with read/modify/write, the involved disks each performs 80-100 MB/s of data transfers. And the remaining losses up to the parity check speed is mainly the additional seeks requred to visit each affected data stripe twice.

Edited by pwm
  • Like 1
Link to comment
13 minutes ago, pwm said:

 

Not sure if you read by post - the one just above your.

 

 

So with read/modify/write, the involved disks each performs 80-100 MB/s of data transfers. And the remaining losses up to the parity check speed is mainly the additional seeks requred to visit each affected data stripe twice.

Open the thread before you had posted ^^ but tested to change to construct write and is avg around 110MB/s now, thanks :) !
When i've copied over all the data i can just change it back right? So that drives can spin down and i'm gonna use a cache drive anyways.

Edited by Luke_Starkiller
Link to comment
1 minute ago, Luke_Starkiller said:

Open the thread before you had posted ^^ but tested to change to construct write and is avg around 110MB/s now, thanks :) !
When i've copied over all the data i can just change it back right? So that drives can spin down and i'm gonna use a cache drive anyways.

 

Yes, you can switch between the two modes whenever you want.

 

You definitely want the "turbo" mode when initially filling the server. But also if you later have a really busy day adding more data.

  • Like 1
Link to comment

Amazing, thanks!

 

That has got me writes over 100MB/s, which I'm happy with.

 

I'm fine with all the drives spinning, honestly with these being red pros and golds, I'm happier with them spinning 24-7 than the heads mounting/unmounting constantly.

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.