Upon testing the performance of a raid 6 array with 13 disks i wanted to check read/write performance, an easy way to do this fast on Linux (Debian) is simply using ‘time’ and ‘dd’:
bakis:/var/raid6volume# time dd if=/dev/zero of=./testingtransfer bs=16k count=16k
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 1.48474 s, 181 MB/s
real 0m1.513s
user 0m0.008s
sys 0m1.456s
bakis:/var/raid6volume# time dd if=./testingtransfer of=/dev/null bs=16k
16384+0 records in
16384+0 records out
268435456 bytes (268 MB) copied, 0.156663 s, 1.7 GB/s
real 0m0.159s
user 0m0.004s
sys 0m0.160s
bakis:/var/raid6volume#
The ‘read’ test above isn’t real since the file has been cached . But a rsync is working in the background so I couldn’t umount /var/raid6volume for this example.
Initially I was doing this to test performance over nfs for the same array, one has to umount / mount the share between each test to make sure nothings in the cache.
Working with nfs, tuning wsize and rsize on the client side also gives a lot better performance (at least in my case), see the link bellow for more info.
I got these hints from debianhelp.co.uk