What "Stripe Size" should I set for a RAID 0?

I am setting up an ADAPTEC 2120S RAID Controller that will be running a RAID 0 configuration with (2) Seagate Cheetah® 15K.5 Ultra320 SCSI 73-GB Hard Drives.   I'm setting this up for maximum performance.  The main software program that I run is Autodesk Inventor.  I ran an analysis on a separate computer that I use for the exact same purpose and I found that my average file size was 724 KB.

Also, should I enable or disable Read Caching and Write Caching for better performance?   TIA!!
Qube-ItAsked:
Who is Participating?
 
-DJL-Connect With a Mentor Commented:
Calculating the optimum stripe size is very complicated - mainly because it depends on so many variable, some of which its almost impossible to find answers too.  The best way to determine the ideal stripe size would be to run several tests in your application with the array setup in different configurations.   However, in the real world, the difference between 64KB/128KB etc will be very small, so its probably not worth the effort.

The reasons I suggested 64KB;
1) Its the adapters default stripe size.  I have found with experience that entry level adapters tend to be optimized for stripe sizes around the default.
2) In general 64KB usually gives good performance

Just to correct a comment above - large stripe size does not waste space.  This is a common misconception.  

Don't get too hung up with benchmarks, they aren't particularly useful in telling you how your application will perform in the real world.  Also your average file size doesn't help much as we don't know how those files are read/written.

If your going into this level of detail, you also need to think hard about the allocation unit size of the file system and aligning the partitions.




0
 
-DJL-Connect With a Mentor Commented:
I would go for a 64KB stripe.

Enabling caching will provide you with the best performance.  However, unless you have the optional battery backup, you risk data corruption if you experience a power failure.  
0
 
Qube-ItAuthor Commented:
Thanks for the response DJL.  A couple of follow up questions:

1) Is there any particular reason to go for a 64 KB stripe as opposed to, say, a 512 KB stripe?
2) Seeing that I've never set up a RAID 0 before, can I experiment with the Stripe Size, Write Caching, and Read Caching settings after I have everything going?

BTW, I do have the optional battery backup for this RAID controller, so no worried there.
0
Worried about phishing attacks?

90% of attacks start with a phish. It’s critical that IT admins and MSSPs have the right security in place to protect their end users from these phishing attacks. Check out our latest feature brief for tips and tricks to keep your employees off a hackers line!

 
_Commented:
1.  Yes. Performance  {short answer} Too small a stripe and the systems spends all its time writing. Too big and you waste too much space.

2. Yes. That's the best way to 'custom' tweak your setup for your files.

Usually a 64 or 128KB stripe is suggested for general use
0
 
_Commented:
I want to rephrase part of my answer.
Too small and the system works too hard (think small car going VERY fast), but you get very little wasted space.
0
 
Qube-ItAuthor Commented:
Thanks coral47.  I see what you mean.  I set the stripe size to 512 KB before I got a response from anyone so I could "go through the motions".  I found out that I cannot adjust the stripe size or the read and write caching after it's been set without deleting the array and creating a new one.  At least, that's the way it appears in the ADAPTEC RAID controller utility (shows me the settings, but doesn't allow me to select them in order to change anything).  This isn't a big deal because I have an image of the system drive so I can just re-create a new array with the more performance based settings and then re-image the drive partition.  This is how I got this one up to begin with.

Another follow up question:

1) While Googling around, I found a forum that talks about this subject (can't remember where) and there was a person on there that played with the read and write caching settings and found that he got a "burst" performance boost when he left the read caching off and the write caching on (determined through benchmark testing).  Just to make sure I'm understanding everyone... What read/write caching configuration would be optimal for performance?
0
 
_Commented:
That one I can't help you with. I haven't raided SCSIs in years.
My file sizes varied so much, that testing showed the default settings were the best. If I remember correctly, that was 64KB stripe, Write OFF, Read ON, but I won't swear to it. (it's been over 5 years, and on a pair of 9gig, full height drives)
0
 
nobusCommented:
don't forget a daily backup - if something goes wrong, you can loose everything with raid 0!
0
 
Qube-ItAuthor Commented:
I don't miss my backups.  I use both Norton Ghost 14 and Acronis True Image on various computers at home and at work.  That's why I'm not worried about RAID 0.  I'm actually converting this computer from a RAID 1 in order to open up more space and to increase performance.  I've already done this conversion once during this thread using the latest image from Norton Ghost, so I know I'm good in that department.  I will be rebuilding the array again in order to tweak the settings on the RAID array.
0
 
Qube-ItAuthor Commented:
Thanks DJL.  My default stripe size was set to 256 KB.  I had bumped it up to 512 KB before your first response, to experiment.  When I get into the office, I will try some different settings and see if I can fined the right balance.

My personal "Benchmark" is how fast Autodesk Inventor loads and runs.  I mainly work off of a maxed out Dell M90 laptop, which is faster than a lot of desktops, and Inventor loads in about 1:56 (one minute, 56 seconds) where as last night, with the desktop I'm manipulating with the RAID 0, I consistently got Inventor to load in 1:10.  

Could you expand on your last thought about the allocation unit size of the file system and aligning the partitions?
0
 
_Commented:
>> large stripe size does not waste space

After thinking about that for a few minutes, I will go along with it.  Not many people work with lots of small sized files anymore.
Maybe I remember it wrong, but I thought Stripes acted like Clusters.
0
 
-DJL-Connect With a Mentor Commented:
No - stripes and clusters are quite different.

Stripes are transparent to the operating system and therefore the file system.  Example - you have say, a 32KB file and a 1MB file.  If the stripe size is 64KB, then the 32KB file and the first 32KB of the 1MB file will be stored in the first stripe.  The remainder of the 1MB file will be stored in stripes 2,3,4 etc.

This is were aligning partitions comes in.

Another example.  Say you have a 128KB file and again we have 64KB stripes.  If the partition is aligned so that the first 64KB of data is stored in a single stripe, then the 128KB file will be stored in the first two stripes - therefore to read the file the RAID controller would only need to issue two commands - ie read stripe 1 and 2.

Unfortunately, Windows prior to Vista and Server 2008 reserved something like 31KB at the beginning of the disk, therefore, going back to the example, to read your first 64KB of data, you'd need to read 33KB from the first stripe and 31KB from the second.  Vista and Server2008 now offset the first partition by 1MB, thereby avoiding the problem in most cases.

You are correct about cluster size.  If a drive is formatted with 4KB clusters, then a 1KB file will utilise the entire 4KB cluster, effectively wasting 3KB,


0
 
_Commented:
OK, got it.  Thanks for the refresher.   : )
0
 
Qube-ItAuthor Commented:
DJL, bear in mind I've never aligned a partition before, so please exuse any ignorant comments I make.

Is it possible to align partitions with more than 64 KB?  If so, would it be prudent to do so?

The reason I ask is that my ADAPTEC RAID controller defaults to a 256KB stripe size.  BTW, I'm running Windows XP pro (32 bit) on this machine.
0
 
-DJL-Connect With a Mentor Commented:
Sorry - I should have explained how.

As I understand it you already have windows installed and are using Ghost images to play with stripe sizes?

The problem with aligning disks is you need to do it at the stage when you create the partition, which normally means reinstalling windows.  I don't know if Ghost has the ability to copy data back to a partition you have already created?  If ghost has to create the partition before it copies back the data, then you will either have to use ghost to align the partition (if it has that facility), or reinstall windows.

The normal process for aligning is as follows;

If your trying to align a partition to install Windows on then you will need to boot off the Windows XP disk and follow the instructions to launch the recovery console.

Once you are at the command prompt run 'diskpart'

Type 'list disk' - this will show you all the disks in your system.  Type 'select disk x' x being the number of the disk from the list that you want to modify.

If your disk already has partitions or volumes on it, use the 'clean' command to remove them from the disk (NOTE: clean will destroy all your data!)

To create a new partition type: 'create partition primary size=73000 offset=1024'

If you don't specify size diskpart will use all available space.  As a rule of thumb, you want to set the offset to the stripe size - or just set it to 1024, as they now do in Vista/Server 2008 (your only wasting a few hundred KB)

More info on diskpart - http://support.microsoft.com/kb/300415

0
 
Qube-ItAuthor Commented:
Thank you.  Ok, I'm going to do that and check back in.

Just to clarify things a bit:
Norton Ghost does not format or create partitions from images.  Up till now, I booted to the Windows XP disk and create the partition and NTFS first and then (before windows tries to install itself) I swap out the CD's and reboot to Norton Ghost's CD and continue imaging the drive.  With that said, I actually opened my eyes a bit on the Norton Ghost recovery console CD and found all sorts of neat and fun disk management tools.  So I have used those to adjust some settings and run diskpart.exe.
0
 
Qube-ItAuthor Commented:
Ok, here's what I did:

1) I set my stripe size to 512KB
2) I set the offset to 512KB also
3) I turned the Read Caching off
4) I turned the Write Caching on (with the Battery backup only)

With these settings in place I saved about 6 seconds of loading time while opening Autodesk Inventor (down from 1:10 to 1:04).  That seems to be consistent as well.  When I had the 64KB stripe size and the 128KB stripe sizes, respectively, I saw an increase in loading times for Inventor (as much as 1:22).

Summary:
It seems that these are the "sweet spot" settings for my needs and this computer.  I will probably keep playing with the settings a bit more to see if I can squeeze out any more performance. I will post back here with anything significant.

I am awarding the points to DJL due to his detailed guidance on this issue.  A thank-you also goes out to coral47 for his input.
0
 
Qube-ItAuthor Commented:
Good stuff guys.
0
 
_Commented:
No problem. Looks like I need to setup a raid to play with. I forgot more than I thought.   : )
And I am glad to hear yours is doing good.  

Later...
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.