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)