I've done six tests, for bsize/fsize 16K/2K-->32K/4K-->64K/8K
respectively, and both 64K and 32K stripe sizes. Very interesting.
Three winners and three losers with absolutely nothing in between.
The 64K stripe size with 64K bsize probably hits the absolute
optimal performance (this is seems to be very close to 2x the raw
single disk performance) but 32K/32K and 32K/64K are both also very
good at 80+MB/s both read AND write.
** BAD: 64K stripe size, 16K block size, 2K frag size:
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
pear 300M 12310 5 12189 4 6987 1 84635 63 91295
16 521.8 2
** BAD: 64K stripe size, 32K block size, 4K frag size:
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
pear 300M 11648 5 11803 4 8717 2 89978 66 92012
16 516.1 2
** GOOD: 64K stripe size, 64K block size, 4K frag size:
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
pear 300M 96252 46 97565 32 19439 6 91624 66 91608
14 310.9 1
** BAD: 32K stripe size, 16K block size, 2K frag size:
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
pear 300M 8839 4 8770 3 6628 2 78156 58 91332
17 525.1 2
** GOOD: 32K stripe size, 32K block size, 4K frag size:
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
pear.johani.or 300M 81546 38 90802 34 20711 7 81892 61 91937
16 364.5 1
** GOOD: 32K stripe size, 64K block size, 8K frag size:
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
pear 300M 84566 40 90798 33 20682 6 83047 58 92784
15 270.2 1
Oh.. and don't worry about rebuilding parity before doing the tests
-- parity only matters if you care about the data in the event of
afailure ;)
Right, I actually knew that, but I was not thinking straight. Thanks
for pointing it out. And many thanks for helping me to understand
this much better than before.
Johan
** GOOD: 64K stripe size, 64K block size, 4K frag size:
** GOOD: 32K stripe size, 32K block size, 4K frag size:
** GOOD: 32K stripe size, 64K block size, 8K frag size: