[comp.protocols.nfs] nfsstone Benchmark

liam@cs.qmw.ac.uk (William Roberts) (02/02/90)

We got the Legato version of nhfsstone; amazingly enough it
actually does give you a real, repeatable number with which to
beat salesman and all those people who ask "Is machine X better
than Machine Y for a fileserver?".

I think I can get a whole paper out of what works and why, but
for anyone out there think of using it, here's the brief lowdown.

1. Ignore all timings of individual operations because they are all
   without exception, nonsense.

2. Use the total "calls per second" as your basis of
   comparison, this is repeatable and valid.

3. Rack up the load you ask for (target calls per second) until
   your server stops improving. This is the number to use.

4. Compare raw CPU speed (and maximum rate at which your test
   client can generate load) by using a mix file which asks for
   pure fsstat requests - these don't involve the server disks
   at all.


For the above you should see that the comparison strategy is as
follows:

a) pick a test client.

b) run the pure-fsstat mix against your various machines and
   see the highest calls per second you can get. Ask for a
   target load of say 1000 calls per second. If you get less
   than 100 then get a better client or write "distributed
   nhfsstone". The best I've seen is 266 per sec from a
   SparcStation 1, driven by a Sun 3/60.

c) take your representative mix, then demand 100 calls per
   second and see if you get it (over say 10000 calls). If you
   achieve 100 calls per second ask for 200. Keep upping your
   demand until the server doesn't get any better. Thats the
   number you put in your test report.

d) Repeat c using the same mix file for each different server
   you think you might use.


Locally, the best results I've had for the default mix are

        47 calls per second on a Sequent Balance 21000 (6 CPU)
        43 calls per second on a SparcStation 1

The worst was 5.5 calls per second on a Vax 11/750, but nobody
knows why the poor machine is always so bad at everything (it
must be sick somewhere).


Warnings:

The Legato nhfsstone assumes that reads and writes happen in 8k
chunks. If you mount the server with rsize or wsize options set
lower than this (this happens automatically on some systems)
then you will always get an INVALID MIX warning on your output
since the number of actual read and writes will overshoot by a
few percent. Having a System V kernel in your client may do
this as well if the kernel buffer size is smaller than 8k.

Like I said, most of the timings are complete nonsense, so only
use the overall calls per second number.
-- 

William Roberts                 ARPA: liam@cs.qmw.ac.uk
Queen Mary & Westfield College  UUCP: liam@qmw-cs.UUCP
Mile End Road                   AppleLink: UK0087
LONDON, E1 4NS, UK              Tel:  01-975 5250 (Fax: 01-980 6533)