plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 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). |
Chris Dearman | 37550cf | 2012-10-17 19:54:01 -0700 | [diff] [blame] | 9 | They are extremely configurable; the examples below are some common uses. |
plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 10 | Read the help and experiment! This testing tools were originally written |
Chris Dearman | 37550cf | 2012-10-17 19:54:01 -0700 | [diff] [blame] | 11 | to test UNICOS's NC1 and IRIX XFS filesystems. |
plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 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. |
Chris Dearman | 37550cf | 2012-10-17 19:54:01 -0700 | [diff] [blame] | 18 | The file offset, I/O length, I/O operation, and what open(2) flags are |
plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 19 | selected randomly from a pre-defined or commandline given set. All data |
Chris Dearman | 37550cf | 2012-10-17 19:54:01 -0700 | [diff] [blame] | 20 | written can be verified (this is the usual method). |
plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 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 | |
Chris Dearman | 37550cf | 2012-10-17 19:54:01 -0700 | [diff] [blame] | 40 | Growfiles will create and truncate files in gradual steps using write, and |
plars | 865695b | 2001-08-27 22:15:12 +0000 | [diff] [blame] | 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 | |