1getc_putc(8) System Manager's Manual getc_putc(8)
2
3
4
6 getc_putc - program to test hard drive performance.
7
8
10 getc_putc [-d dir] [-s size(KiB)] [-m machine-name] [-u
11 uid-to-use:gid-to-use] [-g gid-to-use]
12
13
15 This manual page documents briefly the getc_putc, program.
16
17 This is a simple adjunct to the bonnie++ benchmark. It is used to test
18 various ways of doing IO one byte at a time, usually you don't need to
19 do enough of this for it to be a performance issue for it to matter
20 much which way you do it. But sometimes it's necessary (for example
21 whan parsing IO from a terminal and then launching another process
22 which will take over all IO, such as a simple shell).
23
24 The real benefits of this are to help settle some arguements about the
25 performance of such things, and to educate novices about how bad per-
26 byte IO really is.
27
28
30 For getc_putc every option is of the form of a hyphen followed by a
31 letter and then the next parameter contains the value.
32
33 -d the directory to use for the tests.
34
35 -s the size of the file for byte IO performance measured in kilo‐
36 bytes. NB You can specify the size in mega-bytes if you add 'm'
37 to the end of the number.
38
39 The default for this test is to test with a 40MiB file. Of the
40 file only 1/32 of it will be used for write() and read() system
41 calls (anything else takes too long), and only 1/4 of it will be
42 used for locked getc() and putc().
43
44
45 -m name of the machine - for display purposes only.
46
47
48 -u user-id to use. When running as root specify the UID to use for
49 the tests. It is not recommended to use root, so if you really
50 want to run as root then use -u root. Also if you want to spec‐
51 ify the group to run as then use the user:group format. If you
52 specify a user by name but no group then the primary group of
53 that user will be chosen. If you specify a user by number and
54 no group then the group will be nogroup.
55
56
57 -g group-id to use. Same as using :group for the -u parameter,
58 just a different way to specify it for compatibility with other
59 programs.
60
61
62 -q quiet mode. If specified then some of the extra informational
63 messages will be suppressed. Also the csv data will be the only
64 output on standard out and the plain text data will be on stan‐
65 dard error. This means you can run getc_putc -q >> file.csv to
66 record your csv data.
67
68
70 The primary output is plain-text in 80 columns which is designed to fit
71 well when pasted into email and which will work well with Braille dis‐
72 plays.
73
74 The second type of output is CSV (Comma Seperated Values). This can
75 easily be imported into any spread-sheet or database program.
76
77 For every test the result is a speed in KiB/s. I do not display the
78 CPU time because it presumably is 99% of the power of a single CPU (or
79 something very close to that).
80
81
83 This program, it's manual page, and the Debian package were written by
84 Russell Coker <russell@coker.com.au>.
85
86 The documentation, the Perl scripts, and all the code for testing the
87 creation of thousands of files was written by Russell Coker, but the
88 entire package is under joint copyright with Tim Bray.
89
90
92 Handles SIGINT and does a cleanup (which may take some time), a second
93 SIGINT or a SIGQUIT will cause it to immidiately die.
94
95 SIGXCPU and SIGXFSZ act like SIGINT.
96
97 Ignores SIGHUP.
98
99
101 The source is available from http://www.coker.com.au/bonnie++ .
102
103 See http://etbe.coker.com.au/category/benchmark for further informa‐
104 tion.
105
106
108 bonnie++[22m(8), zcav(8)
109
110
111
112 getc_putc(8)