unraid-tunables-tester.sh - A New Utility to Optimize unRAID md_* Tunables


Recommended Posts

 

You mentioned v6 RC4 twice, do you mean v6.2 RC4? 

Yes, that is correct

 

You said there's no place to set md_sync_window in the GUI - yes there is, right above the setting for md_sync_thresh. 

 

You can ignore the md_write_limit values in the results, they no longer apply to 6.2.

 

Yes, I seem to have problems getting all of those terms typed correctly into the message.  :-\ 

 

Good to hear about the  md_write_limit not applying to 6.2! 

 

 

I think you're running this in your testbed, right, the one with these drives?:  1TB Hitachi DeskStar HD(Parity 2),  3 X 1TB Hitachi DeskStar HD

 

If so, those 1TB drives are holding back ultimate speeds, but perhaps you already know that.

 

My new script should do a much better job of evaluating settings on a 6.2 server, but it isn't quite ready for public consumption.  Maybe in a week or so you can be among my first testers of the new script.

 

Your results look similar to mine, peaking low and then significantly dropping off, before I added in the new special tests for nr_requests and md_sync_thresh.  With my new tests, the drop off disappeared and the highest speeds came from a much higher number of stripes.  v2.2 of the tool, that you're running, isn't capable of finding the best values in unRAID v6.2.

 

You have the right server.  The Parity drive is WD RED 3TB and Parity 2 is a Hitachi 1TB.  Now, this server is currently running dual parity.  (One of a very few, apparently, that are using it!)  Dual parity is a very CPU intensive calculation involving (apparently) matrix algebra and later chip sets implemented a new function dedicated to matrix operations which makes it much faster!  In fact, with slower (and older) CPU's, the operation becomes CPU bound not IO bound. 

 

The modern CPU's (with the new function) can do dual parity checks at the same speeds as single parity!  The Test Bed server in question can do single parity at 104MB/s and as you can see the dual parity speed is 64MB/s. 

 

I am looking forward to testing your new script for 6.2.  I don't need a GUI wrapped version.  I am comfortable using the command line so if you want a quick test of a script, I can probably give a turn around in one or two days. 

Link to comment

I don't need a GUI wrapped version.

 

I'm a long way away from making a GUI version, everything is still command line.  I don't plan to even consider starting a GUI conversion until I have this script working right on 6.2.

 

But thanks for thinking optimistically!!!

 

-Paul

Link to comment

Parity check just completed.  ;D

 

2016-08-21, 17:16:08	7 hr, 40 min, 37 sec	108.6 MB/s	OK
2016-08-19, 07:06:26	8 hr, 20 min, 36 sec	99.9 MB/s	OK
2016-08-13, 21:57:52	8 hr, 25 min, 47 sec	98.9 MB/s	OK

 

What values were used for each test? 

 

The wrong values were used for the two 8.5 hour tests.  ;)  A combination of stock unRAID values and stripes/window values that were optimized for 5.0.

 

The 7:40 test used md_num_stripes=4848, md_sync_window=2424, md_sync_thresh=2423, nr_requests=8.  These are the values my tool discovered for my server.  I'm thinking 7:20 was my previous best on v5.0, with only a single parity. 

 

My CPU is so low-end it is probably slowing down the dual parity check. Or there may still be another combination of values that wrings some more performance, but I doubt it.

 

I've been making some nice coding enhancements to the tool today.  I added new routines to better exclude testing both extra low values, high values, and really high values, unless the tool first observes good numbers in the low/high ranges.  I think that's one of the last wish list items I picked up from this thread.

 

By excluding the low/high ranges, the default test will run 9 hours, up to a maximum of about 16 hours.  My server would run 15 hours since it likes the really high values, but not the low values.  A server that likes the low values would run in about 10 hours.

 

Yes, I know that sounds long, but these same improvements on the old 2.2 code would have brought the run time down to about 95 minutes. 

 

The new test runs so much longer because it's running two test at every sample point to test md_sync_thresh, I've doubled the sample points, almost doubled each test length, and added in nr_requests tests.  So basically you can thank unRAID v6.2 for a much longer test.

 

Getting closer to a beta release. 8)

 

-Paul

Link to comment

Do you have any requirements? 

 

Requirements: unRAID v6.2, that's it.

 

Crazy servers welcome. Would be interested in a VM, and various different drive controllers.  Single and dual parity.  Single controllers and multiple controllers. Pro and non-pro licenses.

 

I see most of you have system specs in your signatures.  If you don't, please detail them.

 

Thanks,

Paul

Link to comment

I'm interested.

 

For all those who are interested, may I be so bold as to request that you not only provide system specs,  but also put them in your signature. It's difficult to keep everyone's configuration(s) straight in my head,  and inconvenient for me to hunt through pages of a thread trying to find that one post where you listed it.

 

Also, now is a good time to make sure your signature is up to date.

 

Please make sure your signature includes:

 

UnRAID version and license type

If you're visualized, the vm platform

Motherboard, cpu,  ram

Controllers in use,  including mb controllers and HBA's and multipliers

Single /Dual Parity and size of those drives

All hard drives in array, and if connected to more than one controller, grouped by their connections

Any cache drives

Any additional drives outside the array

 

ljm42,  StevenD,  Scott,  squid and myself are examples of what I'm looking for.

 

Thanks

Paul

Link to comment

I will give it a go.

 

unRAID version? Your signature says 6.0.

 

6.2-RC4

And your signature still says 6.0

 

That's a graphic. Im not going to update it every version.

You could accomplish most of that in bbcode, or if not, maybe next time you do update the graphic you could just remove the version completely and display it separately since versions change pretty frequently around here.
Link to comment

I see most of you have system specs in your signatures.  If you don't, please detail them.

 

Sorry, didn't notice this before:

 

Dual Parity - Pentium G2030/8GB/22HDD(2TB)/SAS2LP+Adaptec 1430SA

Dual Parity - Celeron G560/8GB/14HDD(3&4TB)/LSI9211-8i

Single Parity - Celeron G560/8GB/14HDD(2,3&6TB)/SASLP+Adaptec 1430SA

Dual Parity - Celeron G570/8GB/8HDD(4&8TB)/Adaptec 1430SA

Dual Parity - Pentium G4400/8GB/30SSD(64,80,120&256)/LSI9207-8i(with expander RES2SV240) + LSI9211-8i

Dual Parity - Pentium G2030/8GB/22HDD(2&3TB)/SAS2LP+Adaptec 1430SA

Single Parity - Xeon E3-1220/32GB/5HDD(3TB)/Asmedia 1601

 

 

Link to comment

I see most of you have system specs in your signatures.  If you don't, please detail them.

 

Sorry, didn't notice this before:

 

Dual Parity - Pentium G2030/8GB/22HDD(2TB)/SAS2LP+Adaptec 1430SA

Dual Parity - Celeron G560/8GB/14HDD(3&4TB)/LSI9211-8i

Single Parity - Celeron G560/8GB/14HDD(2,3&6TB)/SASLP+Adaptec 1430SA

Dual Parity - Celeron G570/8GB/8HDD(4&8TB)/Adaptec 1430SA

Dual Parity - Pentium G4400/8GB/30SSD(64,80,120&256)/LSI9207-8i(with expander RES2SV240) + LSI9211-8i

Dual Parity - Pentium G2030/8GB/22HDD(2&3TB)/SAS2LP+Adaptec 1430SA

Single Parity - Xeon E3-1220/32GB/5HDD(3TB)/Asmedia 1601

 

What the #*%$!!!!  :o  Do you really have 7 unRAID servers!!! 

 

115 various HD's and SSD's!!!  And what looks like in the neighborhood of 225TB of storage!!!!!!

 

Are you affiliated with Backblaze?

 

I'll take a leap of faith and assume those dual parity servers are 6.2.  What about the two single parity?

 

Since you listed them all, are you planning on testing on all of them?  I've very curious about that SSD server you got.  And the one with the expander.  And the... oh hell all of em!

 

Wow.

 

Paul

Link to comment

I see most of you have system specs in your signatures.  If you don't, please detail them.

 

Sorry, didn't notice this before:

 

Dual Parity - Pentium G2030/8GB/22HDD(2TB)/SAS2LP+Adaptec 1430SA

Dual Parity - Celeron G560/8GB/14HDD(3&4TB)/LSI9211-8i

Single Parity - Celeron G560/8GB/14HDD(2,3&6TB)/SASLP+Adaptec 1430SA

Dual Parity - Celeron G570/8GB/8HDD(4&8TB)/Adaptec 1430SA

Dual Parity - Pentium G4400/8GB/30SSD(64,80,120&256)/LSI9207-8i(with expander RES2SV240) + LSI9211-8i

Dual Parity - Pentium G2030/8GB/22HDD(2&3TB)/SAS2LP+Adaptec 1430SA

Single Parity - Xeon E3-1220/32GB/5HDD(3TB)/Asmedia 1601

 

What the #*%$!!!!  :o  Do you really have 7 unRAID servers!!! 

 

115 various HD's and SSD's!!!  And what looks like in the neighborhood of 225TB of storage!!!!!!

 

Are you affiliated with Backblaze?

 

I'll take a leap of faith and assume those dual parity servers are 6.2.  What about the two single parity?

 

Since you listed them all, are you planning on testing on all of them?  I've very curious about that SSD server you got.  And the one with the expander.  And the... oh hell all of em!

 

Wow.

 

Paul

This is probably why he doesn't have them in his sig. johnnie seems to throw them together just for the fun of testing. ;D
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.