112 lines
4.6 KiB
Plaintext
112 lines
4.6 KiB
Plaintext
@(#)README 1.6 89/07/07 Legato Systems, Inc.
|
|
|
|
This directory contains the source for the nhfsstone (pronounced
|
|
n-f-s-stone, the "h" is silent) NFS load generating program. This
|
|
version of the program can only be compiled on 4.x BSD based UNIX
|
|
systems.
|
|
|
|
nhfsstone is used on an NFS client to generate an artificial load
|
|
with a particular mix of NFS operations. It reports the average
|
|
response time of the server in milliseconds per call and the load in
|
|
calls per second. The program adjusts its calling patterns based on
|
|
the client's kernel NFS statistics and the elapsed time. Load can be
|
|
generated over a given time or number of NFS calls. See the "nhfsstone.1"
|
|
manual page for more details.
|
|
|
|
The files in this directory are:
|
|
|
|
DISCLAIMER legal requirements
|
|
Makefile Makefile used to build nhfsstone
|
|
README This file
|
|
nhfsstone.c source file
|
|
nhfsstone.1 manual page
|
|
nhfsrun shell script to run nhfsstone over multiple loads
|
|
nhfsnums shell script to convert nhfsrun output to plot(5)
|
|
nhfsgraph shell script to create a graph from nhfsnums output
|
|
|
|
The file "nhfsstone.1" is a manual page that describes how to use the
|
|
nhfsstone program. To look at it type "nroff -man nhfsstone.1".
|
|
|
|
To build an executable type "make nhfsstone". To install it, become
|
|
super-user and then type "make install". This will strip the
|
|
executable, set the group to "kmem" and set the setgid bit. If your
|
|
site requires different installation of programs that read /dev/kmem
|
|
you may have to use different ownership or permissions. Make install
|
|
will also set the execute bits on the shell scripts nhfsrun, nhfsnums
|
|
and nhfsgraph.
|
|
|
|
To run an nhfsstone test, create a parent test directory on a filesystem
|
|
that is NFS mounted, cd to that directory and type "nhfsstone". This will
|
|
do a run with the default settings, load = 30 calls/sec, 5000 calls,
|
|
and 7 sub-processes.
|
|
|
|
If you want to spread the load across several server disks, first
|
|
figure out on the server which disk partitions are exported as which
|
|
filesystems. If you don't already have more than one of these
|
|
filesystems mounted on your test client you can mount them in temporary
|
|
locations, like /mnt. Create test directories on these filesystems so
|
|
that the load will be distributed according to the simulation that you
|
|
want to run (for example, you might put 4 test directories on the
|
|
filesystem where the diskless client's root and swap live, and 2 on the
|
|
home directories filesystem, and one on the executables filesystem).
|
|
Now create a parent test directory cd to it, and make symbolic links
|
|
with the names testdir0, testdir1, ... testdir6, that point to the
|
|
real test directories. Finally, run nhfsstone from the parent test
|
|
directory.
|
|
|
|
If you are doing the test from a diskless machine, putting half of the
|
|
test directories in /tmp or /usr/tmp and running the test from your
|
|
home directory will simulate real diskless load patterns fairly well.
|
|
|
|
To do a run over multiple load levels, edit the shell script "nhfsrun" and
|
|
set the shell variables "START", "END", and "INCR" to be the correct
|
|
starting and ending loads, and load increment. The script will iterate
|
|
from START to END with an increment of INCR, run nhfsstone at each
|
|
load level, and put the output in the file "run.out". The output file
|
|
name can be changed by editing the nhfsrun script and changing the
|
|
"OUTFILE" variable or by passing a file name suffix on the command line:
|
|
|
|
nhfsrun xysd
|
|
|
|
This produces the output file "run.xysd".
|
|
|
|
The script "nhfsnums" takes the output from nhfsrun and converts it
|
|
into plot(5) format so that it can be graphed using graph(1) and other
|
|
tools. It takes its input either from files given on the command line
|
|
or from standard in:
|
|
|
|
nhfsnums [numsfile] ...
|
|
|
|
If file names are given, the suffix of each name (the part after the
|
|
".") is used as the line label for the set of numbers produced (see
|
|
plot(5)).
|
|
|
|
"nhfsgraph" takes the output from nhfsnums and passes it to graph(1)
|
|
with the right arguments to produce PostScript output for a labeled
|
|
graph. The nhfsgraph script can be used as a filter:
|
|
|
|
nhfsnums run.* | nhfsgraph | lpr
|
|
|
|
|
|
|
|
|
|
This program is provided free of charge to anyone who wants it provided
|
|
certain conditions are met (see DISCLAIMER file for more details).
|
|
|
|
If you would like to receive regular information and bug fixes please
|
|
send your name, and both your Email and U.S. mail addresses to:
|
|
|
|
Legato Systems, Inc.
|
|
Nhfsstone
|
|
260 Sheridan Avenue
|
|
Palo Alto, California 94306
|
|
|
|
nhfsstone-request@legato.com or uunet!legato.com!nhfsstone-request
|
|
|
|
and we will add your name to the nhfsstone mailing list. Comments and bug
|
|
reports should be sent to:
|
|
|
|
nhfsstone@legato.com or uunet!legato.com!nhfsstone
|
|
|
|
|