Hi. On Sat 2002-09-28 at 20:20:37 +1000, Mark Williamson wrote: > > Just trying to workout why I have a Raid 0 that is slower that a > Raid 1 device..
Why do you think that this shouldn't be the case? AFAIK, usually RAID0 is at most comparable to RAID1 on reading speed, but may be slower dependend on use. RAID0 is usually faster quite a bit on writing. Regardless, there are several possible reasons. The two that come to my mind: - speed of different partitions can be different (remember, speed on inner side and outer side of the disk differ usually). For example, one of my disks gives: /dev/hda1: Timing buffer-cache reads: 128 MB in 0.80 seconds =160.00 MB/sec Timing buffered disk reads: 64 MB in 2.88 seconds = 22.22 MB/sec /dev/hda4: Timing buffer-cache reads: 128 MB in 0.81 seconds =158.02 MB/sec Timing buffered disk reads: 64 MB in 3.94 seconds = 16.24 MB/sec You can find out by measuring the underlying partitions directly or eliminate that factor by creating the RAID0 and RAID1 partitions on the same underlying partition one after the other and running the tests. - AFAIK, RAID0 (striping) can only (mainly) benefit from 2 disks, if the read size is larger than the size of the stripes per underlying disk. If hdparm uses small blocks to read, RAID0 will (or better: should ;) only be marginally faster than the underlying disk. You see, it is read from one, one, one, one, two, two, two, two, one, one, one, one and so on. If the block read is larger than the stripe size, it will be read one/two, one/two, one/two, which is what usually gives the speed improvement on reading large files. You also get a nice boost with disk seeks and so on, but Note that if the assumption is true, this (the test reading small blocks in row) is an uncommon case: usually either you read small files from not-adjoining blocks, then you will gain from disk seeks getting distributed to two disks, or you read large files, where you gain from (almost) parallel reads. Neither would be the case with small test blocks. RAID1 (mirroring) on the other hand, may distribute reads arbitrarily to the two underlying disks, because they both contain the same data and therefore is not affected by such patterns. Note that the above is only a possibility based on the behaviour of RAID0 and RAID1. I do not know if the above really matters in this case. If you want to know, you can try to play with the size for striping and then run the test again. Bye, Benjamin. > Now I have here a /dev/md0 which is a Raid1 and /dev/md4 which is Raid0 > > now using hdparm to test the speed.. > > # hdparm -Tt /dev/md0 > /dev/md0: > Timing buffer-cache reads: 128 MB in 0.52 seconds =246.15 MB/sec > Timing buffered disk reads: 64 MB in 1.60 seconds = 40.00 MB/sec > > # hdparm -Tt /dev/md4 > /dev/md4: > Timing buffer-cache reads: 128 MB in 0.51 seconds =250.98 MB/sec > Timing buffered disk reads: 64 MB in 2.58 seconds = 24.81 MB/sec > [...]
msg58174/pgp00000.pgp
Description: PGP signature