RAID 0 Optimal Stripe size?

|TOAST|

Senior member
Dec 21, 1999
616
0
0
I have a Promise Fasttrak 100 TX2 card with RAID 0 running right now (on two Maxtor D740X 60GB drives). What is the best performance stripe size for RAID 0 withthis setup or in general? I remember reading somewhere that if you have many little files accessed more often then large files (ie loading programs or booting an OS) then you want a smaller stripe size like 16Kb or something. Otherwise if you're going to manipulate larger files more often then you want something like a 512Kb stripe. What is optimal for doing both? Something in between like 64Kb? Also is there a standard and reliable program I can use to benchmark my current 16Kb striping setup to see where that puts me on the map compared to the averages of other similar setups with the same or different striping sizes?
 
Feb 24, 2001
14,513
4
81
you could read the anand raid thingy. im working on something and cant find it right now :(

i went with 64k, as that was the recommendation for the promise controllers.
 

|TOAST|

Senior member
Dec 21, 1999
616
0
0
Yes, I've read that 64K is the right thing to do with Promise controllers from their website and the anandtech reviews and storagereviews... but I think I remember seeing (can't remember where but it was also posted in various other forums around teh internet) that 16K was best else where... is there a place to compare or confirm this or to just read the authortiative facts? Also is there a benchmarking program out there I can use that is reliable so when I test out 64K vs 16K in various copying I can confirm or deny the difference betweent eh two striping/block sizes?
 

|TOAST|

Senior member
Dec 21, 1999
616
0
0
See... now there is the dilemma.. 16K vs 64K vs something else... I knew I wasn't going crazy since sinister seems to have heard the same hing... I just want the biggest bang for my buck and I guess the only way to find out is to test them at 16K vs 64K vs 512K... any good benchmarking software out there that is free?
 

Pariah

Elite Member
Apr 16, 2000
7,357
20
81
The smaller the stripe size the better the performance with smaller files. The larger the stripe size the better the performance with large files. Of course, if all you do it work with small files, why are you using RAID in the first place?
 

cleverhandle

Diamond Member
Dec 17, 2001
3,566
3
81
Personally, I would just stick with the default 64K and be done with it - moving down to 16K will slightly increase the read transfer rate on small files, but the small file performance will still primarily be hampered by IDE's slower access times, so the difference should be very small. Might as well get the better performance on the large files you do have to deal with.

In fact, the Anandtech article mentioned above found 64K to be the best, by a narrow margin, for typical workstation use on the Promise controller. But... those tests were conducted using StorageReview's Testbed 2 methodology, which SR now states is misleading for desktop usage. All of this leads to the very tricky problem of benchmarking storage. The only characteristic of an array you can reliably benchmark yourself is streaming transfer rate (using Winbench/Iometer), but this accounts for only a small part of the overall performance of an array, especially on the typical Windows desktop. Other factors, especially firmware quality and access times, are more relevant. SR now uses a new, very expensive, commercial benchmark called IPEAK to measure these factors. About the best you could do would be to run something like Winstone Content Creation - though this doesn't necessarily measure your personal usage very well. Content Creation was also used in the Anand article and supported their Iometer results, so you wouldn't really be doing anything new. Practically, I don't see much that you could do other than trust the Anand results, imperfect though they are.

The SR article on Testbed 3 and their improved methodology is an *extremely* informative read if you're interested in storage. You can find it here.