Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!brl-tgr!tgr!speck@cit-vax.arpa From: speck@cit-vax.arpa (Don Speck) Newsgroups: net.unix-wizards Subject: Mass storage bandwidth Message-ID: <710@brl-tgr.ARPA> Date: Sun, 15-Dec-85 19:26:04 EST Article-I.D.: brl-tgr.710 Posted: Sun Dec 15 19:26:04 1985 Date-Received: Tue, 17-Dec-85 07:25:02 EST Sender: news@brl-tgr.ARPA Lines: 46 > ... not impressed with the speed of the drive [GCR CacheTape] - > seems only 10-20% faster than my 125 ips vacuum column 1600 bpi > Cipher 920 on the Unibus. Probably your disks are the bottleneck - even if they're Eagles. Setting the 'rotational delay' parameter (tunefs -d) correctly helps some; for an Emulex controller on a 750, 7ms seems about right (but verify this on your own machine, since one millisecond less than the optimum is the least-optimum value, half the speed of the optimum). Write something like this (rotdelay.c): char buf[4096]; /* Your filesystem block size here */ main(argc,argv) int argc; char *argv[]; { int gap = 0; if (argc > 1) sscanf(argv[1], "%d", &gap); if (gap*512 < -sizeof(buf)) lseek(0, 35*51*16384L, 0); while (read(0, buf, sizeof(buf)) == sizeof(buf)) lseek(0, gap*512L, 1); } Run it with the raw disk on stdin, with various arguments, until you find one that maximizes transfers/second according to iostat. For 4.2bsd, convert this to milliseconds: 1000*gap/(nsect*rps). For Eagles, rps=66, nsect=48. When correctly set, iostat will report nearly 100 tps. If you try this on an RA81, no value is much bigger than any other; I think the track-switching time and the "Unibus delay" (throttle) dominate over the rotation time. I don't like tuning parameters. They're usually very difficult to set correctly, very easy to set incorrectly, poorly documented, and so almost everyone takes the default - which in this case was chosen to be just about the least-optimum value for Eagles. Everybody loves to swap benchmark results, but nobody ever talks about tuning. Okay, let's call "rotdelay" a benchmark: 4.2bsd Vax/780 SI 9900 Eagle 7.3 ms " " " CDC 9766 7.8 ms " Vax/750 Emulex SC7000 Eagle 7.9 ms " " " Fuji 2298 8.1 ms Sun 2.0 Sun-2 Xylogics 450 Eagle 10.5 ms " SCSI 71 MB 12.5 ms If I receive any "benchmark" results, I'll summarize after Christmas. Don Speck speck@cit-vax.arpa