sraw - benchmark raw scsi I/O performance under linux
sraw [ -fiv6 ] scsi-device [ bstart [ bstep ] ]
This program basically reads the specified scsi device and measures the
throughput. Note that the filesystem *AND* the buffer cache are
bypassed by this code, this program was designed to benchmark the naked
scsi drivers by themselves without the need to account for the overhead
of any other portion of the kernel. It also could be used to benchmark
disk read throughput.
This program does a series of reads of the disk, of consecutive areas
on the disk. The device is first queried to determine the sector size
for the device, and then the series of reads is begun. About 5.0 Mb is
read from the device, and then the performance numbers are reported.
Note that since the buffer cache is completely bypassed, there is no
need to be concerned about cache hits or anything.
Output of sraw is a set of lines, 4 numbers per line: blocksize,
elapsed time, nblocks and throughput (in bytes per second).
scsi-device is either a block device (e.g. /dev/sda, /dev/scd0) or a
generic SCSI device (e.g. /dev/sg0).
-f set FUA (Force Unit Access) bit during read. Data is then read
from media instead of internal drive cache.
-i use legacy ioctl instead of new SG I/O layer (will not work on
2.6 kernel and block devices).
-v more verbose output.
-6 use 6-bytes instead of 10-bytes read command. In this case, only
the first GB of data could be read from media.
bstart starting block to check different zones on ZBR discs
bstep factor for sequential stepping, default 1. Use 0 for reading
always the same blocks (from cache)
sraw could issue input/output errors when reading too many blocks at
the same time from a block device like /dev/sda. To get rid of them,
use /dev/sgN instead.
sraw was first written by Eric Youngdale. Extensions (-v, -f, -6, SG
IO, man page) were written by Eric Delaunay.
sg_dd(8) from sg3-utils package.
sraw is available at