README
1
2 $Id: README,v 1.1 2001/08/27 22:15:12 plars Exp $
3
4 This file contains some very basic information on:
5 iogen/doio and rwtest
6 growfiles
7
8 All tools use the -h flag for printing some form of help (sometimes voluminous).
9 They are extremely configurable; the examples below are some common uses.
10 Read the help and experiment! This testing tools were originally written
11 to test UNICOS's NC1 and IRIX XFS filesystems.
12
13
14 IOGEN & DOIO
15 =============
16
17 This is a pair of programs that does basic I/O operations on a set of files.
18 The file offset, I/O length, I/O operation, and what open(2) flags are
19 selected randomly from a pre-defined or commandline given set. All data
20 written can be verified (this is the usual method).
21
22 rwtest is a shell script that is a wrapper of iogen and doio.
23
24 Examples:
25 ---------
26 # run forever: 8 process - using record locks
27 iogen -i 0 100000b:doio_1 | doio -av -n 8 -m 1000
28
29 # run forever: 8 process - using record locks
30 iogen -i 0 100000b:doio_2 | doio -akv -n 8 -m 1000
31
32 # run forever: max i/o 64b, to /tmp/rwtest01%f, which 500b in size
33 rwtest -c -i 0 -T 64b 500b:/tmp/rwtest01%f
34
35
36
37 GROWFILES
38 =============
39
40 Growfiles will create and truncate files in gradual steps using write, and
41 lseek. All system calls are checked for proper returns. The writes or the
42 whole file content can be verified. It can cause disk fragmentation.
43
44
45 Examples:
46 ---------
47 growfiles -E output:
48 # run forever: writes of 4090 bytes then on every 100 iterval
49 # truncate file by 408990 bytes. Done to 200 files in dir1.
50 growfiles -i 0 -g 4090 -T 100 -t 408990 -l -C 10 -c 1000 -d dir1 -S 200
51
52 # same as above with writes of 5000 bytes and truncs of 499990
53 growfiles -i 0 -g 5000 -T 100 -t 499990 -l -C 10 -c 1000 -d dir2 -S 200
54
55 # runs forever: beats on opens and closes of file ocfile - no io
56 growfiles -i 0 -g 0 -c 0 -C 0 ocfile
57
58 # writes 4096 to files until 50 blocks are written
59 growfiles -i 0 -g 4096 -B 50b file1 file2
60
61 # write one byte to 750 files in gdir then unlinks them
62 growfiles -g 1 -C 0 -d gdir -u -S 750
63
64 # run 30 secs: random iosize, random lseek up to eof
65 # Only valid for one growfile process per file.
66 growfiles -r 1-5000 -R 0--1 -i 0 -L 30 -C 1 g_rand1 g_rand2
67
68 # run 30 secs: grow by lseek then write single byte, trunc every 10 itervals
69 growfiles -g 5000 -wlu -i 0 -L 30 -C 1 -T 10 g_sleek1 g_lseek2
70
71 # run forever: 5 copies of random iosize, random lseek to beyond eof,
72 # rand io types doing a trunc every 5 iterations, with unlinks.
73 growfiles -i0 -r 1-50000 -R 0--2 -I r -C1 -l -n5 -u -U 100-200 gf_rana gf_ranb
74
75 # run forever: 5 copies of random iosize, random lseek to beyond eof,
76 # random open flags, rand io types doing a trunc every 10 iterations.
77 growfiles -i0 -r 1-50000 -R 0--2 -o random -I r -C0 -l -T 20 -uU100-200 -n 5 gf_rand1 gf_rand2
78
79
80