# Raid HardDisk Performance Comparison

## galay2

Recently I've got gentoo working with my raid 0 configuration. However, since most of the benchmarks done on the web are with window's tools, I cant figure out if my raid is up to its proper performance. Can anyone here provide some insight/comparisons? 

I found that a common tool for benching raid is bonnie++ and here is my results.

```

Version  1.03       ------Sequential Output------ --Sequential Input- --Random-

                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

gary             1G 21401  98 91860  60 32825  14 20060  81 67472  15 240.5   0

                    ------Sequential Create------ --------Random Create--------

                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--

              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

                 16  2268  99 +++++ +++ +++++ +++  2355  99 +++++ +++  6955 100

gary,1G,21401,98,91860,60,32825,14,20060,81,67472,15,240.5,0,16,2268,99,+++++,+++,+++++,+++,2355,99,+++++,+++,6955,100

```

You can get bonnie++ from portage and it's very small (70k). I ran the command (bonnie++) without any options. Could anyone do some benchmarking too?

Much appreciated.

----------

## Insanity5902

```
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-

                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

insanity         1G 11092  45 32260  11 13675   4 14535  71 31004   6 176.8   0

                    ------Sequential Create------ --------Random Create--------

                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--

              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

                 16 26099  92 +++++ +++ 23481  99 26906  94 +++++ +++ 21154  99

insanity,1G,11092,45,32260,11,13675,4,14535,71,31004,6,176.8,0,16,26099,92,+++++,+++,23481,99,26906,94,+++++,+++,21154,99

```

shitty drive, but it gets the job done.

----------

## gaz

```
Version  1.03       ------Sequential Output------ --Sequential Input- --Random-

                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--

Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP

gazbot           1G 22585 100 122158  71 44445  17 22654  88 100889  26 304.2   1

                    ------Sequential Create------ --------Random Create--------

                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--

              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP

                 16 21417  96 +++++ +++ 19171 100 18201  96 +++++ +++ 18074  99

gazbot,1G,22585,100,122158,71,44445,17,22654,88,100889,26,304.2,1,16,21417,96,+++++,+++,19171,100,18201,96,+++++,+++,18074,99

```

Intel Software RAID0 - 32kb stripe

2 x SATA Samsung 120gig drives

p4-2.4ghz @ 3.14ghz

512ddr (dual channel 400mhz)

----------

## galay2

hey there gaz  :Smile:  you know how to interpret these results? Coz from what I can tell, it seems I'm running slower than you? 

I have 2x 36G raptors

P4 2.4 @3.14 512ddr

ext3

16k strip size (not sure about cluster size, or if these is such a thing with linux at all, in windows i run at 16k)

Anyone else?

----------

## Insanity5902

they dont' looke like that, the bottom is the amount it performs per second, which yours is higher, and the top part is the amount kb/sec.  Yours looks faster all the way around

btw, are you booting off the raid and is it sata or scsi?, if sata , how did you do that.  I have another computer using the nforce2 ultra chipset (promise sata controller) with 2x36gb sata drives.  I would like to load linux on it and dual boot with it but I can't get it to recongize the drive ...

----------

## galay2

Insanity5902 do you mean the top as in Sequential Output and Sequential Input? Coz I think mine is lower? And the bottom is seq create and random create which I have as lower? Basically the opposite of what you described.

I believe I'm booting off my drives as sata, altho it'll be recognized as scsi later only because my raid drivers see them as scsi drives. At any rate, if you have problems with sata, make sure your kernel have sata compiled in (should be under the scsi section).

----------

## Insanity5902

scratch what I said then, I got confused reading off mine, I guess I will have to read the manual on this one  :Razz: 

I will check out that sata though.  I didn't realize the sata drivers were under the scsi section.

----------

## gaz

it does seem like yours is running a little slow  :Sad: 

I wouldnt have a cluewhat the bottleneck would be either :\

----------

## galay2

gaz, could you give more details on your system? What are you partitions layout? Did you specify any cluster size when format? Did you do any tuning? Hmmm this is really disappointng, perhaps someone else have an idea?  :Sad:  :Sad:  :Sad: 

----------

## gaz

sure  :Smile: 

'/boot' partition is '/dev/ataraid/disc0/part2' and 'ext2'

'/' partition is '/dev/ataraid/disc0/part4' and 'reiserfs'

I created the reiserfs with the standard command 'mkfs.reiserfs /dev/ataraid/disc0/part4'

The RAID array itself is a 32kb stripe. Anything more you might need to ask me again because I cant think of anything else relating to the array ?

----------

## Insanity5902

It just hit my why gaz's looks faster.  

Your strip size is set to 16k , his is 32k.  So when you right a file, it rights 32k at a time, 16k per drive.  While gaz's will right 32k per drive, 64k total.  If you are playing games or doing a lot of work with small files (basic desktop user) then a smaller strip size will do you better.  If you are working with bigger files, IE working in w/ a 3d studio program like maya or other programs that write huge amounts of data, then a bigger stripe size will be better b/c it lowers the congestion on the cables.  (sizes depend on the raid chip but could go up to 512k)

That is why gaz's is faster, they were testing it with a 1 gig file.  His strip size was bigger which is why it seemed faster.  But in real world apps where you are just right files no bigger then a meg, and most of the time smaller, yours would actually be faster.

You should look at the bonnie++ options and see if you can specify a smaller file size and see how it does, run it with 500 meg, 100meg and then see if you can do a 10 and 1 meg file also.  I am sure you will see a huge difference in your scores.

----------

## galay2

wow, Insanity5902, great info. Can you explain what you mean by I write 32k at a time, but 16k per drive? I thought by setting the stripe size to 16k, this means I read/write 16k at a time. And do you know of anything about cluster size? Because this was important too, at least for windows (ntfs/vfat)

I'll look into bonnie++ options tonite and try some other sizes (hey gaz up for some more benches?  :Razz:  )

Also encouraging other raid users to try this to make sure all drivers etc are in place.

----------

## Insanity5902

not sure about cluster, as that was a fat32/ntf2 thing, it would depend on which fs you are using.  A simple search in google on you fs and clusters should give you an answer

**assuming you have 2 drives in the raid**

What I mean is your stripe size is what size it stripes a file.  Yours is set to 16k, so when it gets a file that is 64k big.  It will take 16k and then send it to one drive, then take 16k and sent it to the next drive and then take 16k and send it to the first drive and then take the last 16k and send it to the 2nd drive.  So if the file size is 24k it will take 16k and send it to the first drive and then take the last 8 k and send it to the 2nd drive.  So if you had a file that was 16k it would just put that file on one drive.  So if your stripe size was 1024k then it would anything smaller then that to one drive.  So if you had a file that was 1028k it woudl send 1024k to the first drive and then 4k to the 2nd drive.

Sorry if i didn't make it that clear in the earlier post.  It was early in the morning for me so I wasn't thinking that good, although now isn't much better:p

So what you will want to do is search and bit and maybe increase it to 32 or even 64, though for avg. desktop use I wouldn't go over 64k   But what you want to do is since you have sata drives and that fast 10k rpm drive, you can send it a bit more data at a time.  B/C you want to send it enough data so that 1) the data doesn't have to wait too long to be written b/c the drive is searching for the correct spot to put it / read it  2) the drive doesn't write it so fast that it hasn't recieved the next bit of data to write

I think this is about it, if i think of anything else to say I will come back and post more  :Razz: 

----------

## Jazz

Hey gaz !

well ok, by what i've read.. i think u've got a raid0 setup via the motherboard RAID controller, but its not SOFTWARE raid right ?

That means u can see the 2 disks as one large disk, in windows and Linux !

Well, i've got a similar situation, i've got a RAID0 setup on my ITE 8212F controller, and setup windows xp.., but i have NO CLUE as on where and how to start installing my gentoo system on hardware RAID !

All the searches i lookup on seem to point to software raid etc..

Please help me setting up gentoo., 

Thanx,

Jazz

----------

## Johan_V

If you have true hardware raid you don't have to do anything special. For example, I have 3ware 8006 raid controller with 2 seagate drives

and linux sees it as a regular sata drive /dev/sda.

----------

