PowerEdge 2400 RAID performance

Craig I. Hagan hagan at cih.com
Wed Aug 21 19:07:01 CDT 2002

> When writing files, the server has a really poor performance.
> Also the server seems unresponsive while writing.
> (Reading is fast.)

writing is the expensive operation with raid5 (more in a bit). Have you used
any tools to measure performance (iozone, bonnie, etc?)

what is your io profile? small reads/writes? large ones? are you file serving
(e.g. NFS)? do realize that fileservers usually face small random io loads once
you've a couple clients working them.

> Does anyone know of any solution and would you be so kind to inform me ?

if you really want raid5, then try software raid. linux's soft raid is pretty
dang fast. If you've enough disks and fast enough cpu you should be able to
sustain 50-70MB/s streaming writes.

Mind that raid5's worst enemy. Writes which are < the stripe size of the array.

stripe1	[ AAAA	BBBB  	CCCC	CRC ]
To see why we need to start with how data are represented in raid5.

For four disks raid5'ed together w/ 64k chunk size, one would see this layout
(a disk is a column, a stripe is a row)

stripe1	[ data	data	data	CRC  ]
stripe2	[ data	data	CRC	data ]
stripe3	[ data	CRC	data	data ]
stripe4	[ CRC	data	data 	data ]
stripe5	[ data	data	data	CRC  ]

and so on.

each "data" represents 64KB, yielding a stripe size of 64KB*3 = 192KB.

To write 192KB (perfectly aligned with a stripe) is easy: we
compute a CRC and throw it to disk,

e.g. if we wrote 192KB worth of A...B...C... to stripe1
we would compute a CRC for it and write:

stripe1	[ AAAA	BBBB  	CCCC	CRC ]

However, what if we had that (above) on disk and someone changed
one of the "C"'s to a "D". This would require us to do the following:

read in stripe1. alter the data (change that one C to a D). Recompute
the CRC, and write it all out, resulting in:

stripe1	[ AAAA	BBBB  	CCDC	CRC ]

Which is an awful lot of work for a small write, hence why raid5 can get very
slow under such a load, and why you really want to have either a read-mostly
filesystem or fairly large write requests for raid5.

-- craig

	  .-    ... . -.-. .-. . -    -- . ... ... .- --. .

Craig I. Hagan     "It's a small world, but I wouldn't want to back it up"
hagan(at)cih.com        "True hackers don't die, their ttl expires"
  	"It takes a village to raise an idiot, but an idiot can raze a village"

	Stop the spread of spam, use a sendmail condom!

                       In Bandwidth we trust

More information about the Linux-PowerEdge mailing list