Messages in this thread | | | From | Neil Brown <> | Date | Fri, 6 Feb 2004 13:34:33 +1100 | Subject | Re: Performance issue with 2.6 md raid0 |
| |
On Friday February 6, piggin@cyberone.com.au wrote: > > > Mattias Wadenstein wrote: > > >On Fri, 6 Feb 2004, Nick Piggin wrote: > > > > > >>Mattias Wadenstein wrote: > >> > >> > >>>Greetings. > >>> > >>>While testing a file server to store a couple of TB in resonably large > >>>files (>1G), I noticed an odd performance behaviour with the md raid0 in a > >>>pristine 2.6.2 kernel as compared to a 2.4.24 kernel. > >>> > >>>When striping two md raid5:s, instead of going from about 160-200MB/s for > >>>a single raid5 to 300M/s for the raid0 in 2.4.24, the 2.6.2 kernel gave > >>>135M/s in single stream read performance. > >>> > >>Can you try booting with elevator=deadline please? > >> > > > >Ok, then I get 253267 kB/s write and 153187 kB/s read from the raid0. A > >bit better, but still nowhere near the 2.4.24 numbers. > > > >For a single raid5, 158028 kB/s write and 162944 kB/s read. > > > > > > Any idea what is holding back performance? Is it IO or CPU bound? > Can you get a profile of each kernel while doing a read please? >
Possibly the read-ahead size isn't getting set correctly.
What chunksize are you using on the raid0? Are you free to rebuild the raid0 array? If so, please rebuild it with a chunksize that is 2 or 4 times the size of a raid5 stripe (i.e. raid5-chunksize * (raid5-drives - 1) ).
If not, can you change:
if (mddev->queue->backing_dev_info.ra_pages < stripe) mddev->queue->backing_dev_info.ra_pages = stripe;
at about line 327 of drives/md/raid1.c to something like:
mddev->queue->backing_dev_info.ra_pages = stripe * 32;
or whatever is needed to make ra_pages big enough to gold a couple of raid5 stripes.
Thanks, NeilBrown
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |