May 26, 2018

Test performance of storage devices

This utility can be used to test performance of storage devices. First, one need to generate file with I/O operations

# set mediasize=`diskinfo /dev/<device> | awk 'print $3'`
# set sectorsize=`diskinfo /dev/<device> | awk 'print $2'`
# raidtest genfile -s $mediasize -S $sectorsize -n 50000

It will generate test which contains 50000 I/O requests with random size and random offset. Size is a multiple of sectorsize, but less than or equal to 128kB maxium size of I/O request. I/O request type READ or WRITE is random as well. All test data are stored in ‘’ file in current working directory.

To run test, one should type

# raidtest test -d /dev/<device> -n 10

This command will read test data from ‘’ file, run 10 processes which will be used to send requests to the given device in parallel. When test is finished you will see statistics

Bytes per second <x>
Requests per second <y>

If you compare performance of two storage devices, use the same data file!

usage raidtest genfile [-frw] <-s mediasize> [-S sectorsize] <-n nrequests> [file] raidtest test [-Rrw] <-d device> [-n processes] [file]

where -d device path to tested device -f if file or specified file already exists, remove it and create new one -n nrequests number of requests to generate -n processes number of processes to run -r generate/run only READ requests -R generate random data for write requests -s size of destination device -S sector size of destination device -w generate/run only WRITE requests file path to the data file instead of default ‘’