On Wed, 18 Aug 1999, James Manning wrote:
> > > > input output random
> > > > MB/s %cpu MB/s %cpu /s %cpu
> > > >
> > > > 1drive-jbod 19.45 16.3 17.99 16.4 153.90 4.0
> > > > raid0 48.49 42.1 25.48 23.1 431.00 7.4
> > > > raid01 53.23 41.4 21.22 19.0 313.10 9.5
> > > > raid5 52.47 39.3 21.35 19.8 365.60 11.2
> > > > raid5-degraded 20.23 15.5 21.86 20.3 277.90 7.8
> > >
> > > So in most cases you wrote data much faster than writing it?
> > > Or am I misinterpreting your table?
> >
> > In most cases I can read data much faster than I can write it.
>
> Whoa... I think I've had "input" and "output" switched in their
> correlation to file reading and file writing... What worries me
> about that is this result from a previous post:
>
> - On partitions(?), s/w raid0 over 2 h/w raid0's (each channel separate)
> - -------Sequential Output-------- ---Sequential Input-- --Random--
> - -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
> - MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU
> - 2047 22127 98.9 58031 46.4 21058 47.0 23962 89.2 43068 62.1 648.0 7.8
>
> So I wrote blocks at ~58MB/sec and read them at ~43MB/sec?
>
> FWIW, the s/w 5 over h/w 0 has write at 27MB/sec (99.5% CPU util) and read
> at 40MB/sec (63.6% util). Now I know the processors (4 500 MHz Xeons)
> have much more to do than just XOR calcs (and they can only use MMX
> until the KNI code works), but combined with my s/w 0 over the same h/w
> 0's from above, doesn't this mean that my s/w 5 is bottlenecking on the
> 4 500 MHz processors? The find_fastest picked out p5_mmx at ~1070MB/sec
>
> Thanks,
>
> James
> --
> Miscellaneous Engineer --- IBM Netfinity Performance Development
I'd recommend verifying if the following changes affect the s/w
raid-5 performance:
1. A kernel compiled with HZ=1024 instead of HZ=100 -- this
will decrease the latency between "i/o submitted to the raid
layer" and "i/o submitted to the low level drivers" by allowing
the raid-5 kernel thread to run more often.
2. Increased NR_STRIPES constant in drivers/block/raid5.c from 128
to 256 of 512; this will potentially queue a larger amount of data
to the low level drivers simultaneously.
Gadi