sraw - benchmark raw scsi I/O performance under linux
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
(in bytes per second).
is either a block device (e.g. /dev/sda, /dev/scd0) or a
generic SCSI device (e.g. /dev/sg0).
- set FUA (Force Unit Access) bit during read. Data is then
read from media instead of internal drive cache.
- use legacy ioctl instead of new SG I/O layer (will not work
on 2.6 kernel and block devices).
- more verbose output.
- use 6-bytes instead of 10-bytes read command. In this case,
only the first GB of data could be read from media.
- starting block to check different zones on ZBR discs
- factor for sequential stepping, default 1. Use 0 for
reading always the same blocks (from cache)
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
was first written by Eric Youngdale. Extensions (-v, -f, -6, SG IO,
man page) were written by Eric Delaunay.
from sg3-utils package.
is available at