FIO is an I/O tool that can be used for benchmarking and hardware stress testing. It supports 19 I/O engines (sync, mmap, Libaio, Posixaio, SG v3, splice, NULL, network, Syslet, Guasi, Solarisaio, etc.), supporting block devices and files. Support for Linux, FreeBSD, NetBSD, OpenBSD, OS X, Android, Windows, OpenSolaris, AIX, HP-UX
http://freecode.com/projects/fio/
FIO Usage
1. Random Reading and writing:
Fio-filename=/tmp/test-direct=1-iodepth 1-thread-rw=randrw-ioengine=psync-bs=16k-size 2g-numjobs=10-runtime=30- group_reporting-name=mytest13
Description:
Filename=/tmp/test test file name, usually select the data directory of the disk you want to test.
The Direct=1 test process bypasses the machine's own buffer. Make the test results more realistic.
Rw=randwrite test for randomly written I/O
RW=RANDRW test Random Write and read I/O
bs=16k Single IO block file size is 16k
bsrange=512-2048, the size range of the data block
SIZE=2G The test file size is 2G and tested at each 4k IO.
NUMJOBS=10 the test thread for this time is 10.
Runtime=30 test time is 30 seconds, if not write the 2G file will be divided into 4k every time you finish writing.
Ioengine=psync IO engine uses Pync method
Rwmixwrite=30 in mixed read-write mode, write accounted for 30%
Group_reporting about displaying results, summarizing information for each process
LOCKMEM=1G only use 1g memory for testing
Nrfiles=8 the number of files generated per process.
Sequential read-rw=read
Sequential write-rw=write
Random write-rw=randwrite
Random read-rw=randread
Mixed random reads (read accounted 60%)-rw=randrw-rwmixread=6 0
Mixed Random read/write (60%)-rw=randrw-rwmixwrite=60