386GT Adaptec SCSI performance :-(

Paul De Bra debra at alice.UUCP
Wed Jul 12 04:05:16 AEST 1989


In article <1989Jul10.175106.11166 at tapa.uucp> larry at tapa.uucp (Larry Pajakowski) writes:
>
>We recently put an ADAPTEC 1540A SCSI into a Compaq 386/20 as a second disk
>controller using 2.3.2GT.  The first contoller is the Compaq supplied WD1007.
>Performance on the SCSI disks are worse (I'm being kind) than were expected. 
>Here are some performance numbers all in kb/sec.:
>
>	disk		raw device	block device	large file
>
>	ESDI		340		319		288
>
>	SCSI		107		 57		 56
>
>The ESDI is a Compaq supplied 300mb Minisribe and the SCSI disks (2) are CDC
>Wren IV also 300mb.  The ESDI file system is fairly new and the SCSI file
>system is virgin.  BTW the correlation of block device to large file is worth
>noting in light of the benchmarks published here a week or so ago.
>...

The symptom you have is most likely a gapsize problem.
Most disks spin at about 3600rpm, or 60 rotations per second.
I assume the size of blocks in the file system is 1k.

If the interleaving is too small you have to wait for a whole rotation to
get the next disk-block. This results in a throughput of 60*512 = 30kbytes
per second. (disk blocks are only 512 bytes) Since you get more than
30 kbytes per second we can assume the interleaving is correct.

If the gapsize is too small (a parameter when creating file systems)
you have to wait for a whole rotation after every file system block, which
results in a throughput of 60kbytes per second. The actual throughput is
a bit less since after a whole rotation you are back were you started from,
and not yet at the next file system block, which is a bit further away.
If you have 35 disk-blocks on one track and use 1:1 interleaving then the
next block is at lease 2/35 of a rotation away.

The correct gapsize is something you have to find out by experimenting.
On an ESDI drive with a 1:1 interleave and full-track buffer there may be
several values that result in the same performance (due to the buffer).
So the default value may have been right for the ESDI controller from the
start. For a controller without a full-track buffer (i assume your SCSI
controller is like that) you have to search for the exact value.
If the value is too small you get the extremely low throughput you have
measured. Increasing the value will result in a jump to a very high
throughput at the correct value. Increasing the value further will result
in a gradual decrease in throughput as you introduce unnecessary rotational
delay.

Hope this helps.

Paul.
-- 
------------------------------------------------------
|debra at research.att.com   | uunet!research!debra     |
------------------------------------------------------



More information about the Comp.unix.xenix mailing list