You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
80 lines
2.7 KiB
80 lines
2.7 KiB
7 months ago
|
|
||
|
$Id: README,v 1.1 2001/08/27 22:15:12 plars Exp $
|
||
|
|
||
|
This file contains some very basic information on:
|
||
|
iogen/doio and rwtest
|
||
|
growfiles
|
||
|
|
||
|
All tools use the -h flag for printing some form of help (sometimes voluminous).
|
||
|
They are extremely configurable; the examples below are some common uses.
|
||
|
Read the help and experiment! This testing tools were originally written
|
||
|
to test UNICOS's NC1 and IRIX XFS filesystems.
|
||
|
|
||
|
|
||
|
IOGEN & DOIO
|
||
|
=============
|
||
|
|
||
|
This is a pair of programs that does basic I/O operations on a set of files.
|
||
|
The file offset, I/O length, I/O operation, and what open(2) flags are
|
||
|
selected randomly from a pre-defined or commandline given set. All data
|
||
|
written can be verified (this is the usual method).
|
||
|
|
||
|
rwtest is a shell script that is a wrapper of iogen and doio.
|
||
|
|
||
|
Examples:
|
||
|
---------
|
||
|
# run forever: 8 process - using record locks
|
||
|
iogen -i 0 100000b:doio_1 | doio -av -n 8 -m 1000
|
||
|
|
||
|
# run forever: 8 process - using record locks
|
||
|
iogen -i 0 100000b:doio_2 | doio -akv -n 8 -m 1000
|
||
|
|
||
|
# run forever: max i/o 64b, to /tmp/rwtest01%f, which 500b in size
|
||
|
rwtest -c -i 0 -T 64b 500b:/tmp/rwtest01%f
|
||
|
|
||
|
|
||
|
|
||
|
GROWFILES
|
||
|
=============
|
||
|
|
||
|
Growfiles will create and truncate files in gradual steps using write, and
|
||
|
lseek. All system calls are checked for proper returns. The writes or the
|
||
|
whole file content can be verified. It can cause disk fragmentation.
|
||
|
|
||
|
|
||
|
Examples:
|
||
|
---------
|
||
|
growfiles -E output:
|
||
|
# run forever: writes of 4090 bytes then on every 100 iterval
|
||
|
# truncate file by 408990 bytes. Done to 200 files in dir1.
|
||
|
growfiles -i 0 -g 4090 -T 100 -t 408990 -l -C 10 -c 1000 -d dir1 -S 200
|
||
|
|
||
|
# same as above with writes of 5000 bytes and truncs of 499990
|
||
|
growfiles -i 0 -g 5000 -T 100 -t 499990 -l -C 10 -c 1000 -d dir2 -S 200
|
||
|
|
||
|
# runs forever: beats on opens and closes of file ocfile - no io
|
||
|
growfiles -i 0 -g 0 -c 0 -C 0 ocfile
|
||
|
|
||
|
# writes 4096 to files until 50 blocks are written
|
||
|
growfiles -i 0 -g 4096 -B 50b file1 file2
|
||
|
|
||
|
# write one byte to 750 files in gdir then unlinks them
|
||
|
growfiles -g 1 -C 0 -d gdir -u -S 750
|
||
|
|
||
|
# run 30 secs: random iosize, random lseek up to eof
|
||
|
# Only valid for one growfile process per file.
|
||
|
growfiles -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 g_rand1 g_rand2
|
||
|
|
||
|
# run 30 secs: grow by lseek then write single byte, trunc every 10 itervals
|
||
|
growfiles -g 5000 -wlu -i 0 -L 30 -C 1 -T 10 g_sleek1 g_lseek2
|
||
|
|
||
|
# run forever: 5 copies of random iosize, random lseek to beyond eof,
|
||
|
# rand io types doing a trunc every 5 iterations, with unlinks.
|
||
|
growfiles -i0 -r 1-50000 -R 0--2 -I r -C1 -l -n5 -u -U 100-200 gf_rana gf_ranb
|
||
|
|
||
|
# run forever: 5 copies of random iosize, random lseek to beyond eof,
|
||
|
# random open flags, rand io types doing a trunc every 10 iterations.
|
||
|
growfiles -i0 -r 1-50000 -R 0--2 -o random -I r -C0 -l -T 20 -uU100-200 -n 5 gf_rand1 gf_rand2
|
||
|
|
||
|
|