speck@cit-vax.arpa (Don Speck) (12/16/85)
> ... 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. <FLAME1> 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. <FLAME2> 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