From owner-freebsd-current Sat Apr 8 04:49:35 1995 Return-Path: current-owner Received: (from majordom@localhost) by freefall.cdrom.com (8.6.10/8.6.6) id EAA13216 for current-outgoing; Sat, 8 Apr 1995 04:49:35 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.cdrom.com (8.6.10/8.6.6) with ESMTP id EAA13193 for ; Sat, 8 Apr 1995 04:48:20 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id VAA26041; Sat, 8 Apr 1995 21:44:23 +1000 Date: Sat, 8 Apr 1995 21:44:23 +1000 From: Bruce Evans Message-Id: <199504081144.VAA26041@godzilla.zeta.org.au> To: phk@ref.tfs.com, taob@gate.sinica.edu.tw Subject: Re: Disk performance Cc: freebsd-current@FreeBSD.org Sender: current-owner@FreeBSD.org Precedence: bulk >Just to remind you how far we have got: >Seagate ST506, 20Mb "BIOS Type 2" disk: > dd if=/dev/rwd0d of=/dev/null bs=8k count=200 > 200+0 records in > 200+0 records out > 1638400 bytes transferred in 10 secs (163840 bytes/sec) >Imprimis(?) 94186-383 ESDI disk: > dd if=/dev/rwd2d of=/dev/null bs=8k count=400 > 400+0 records in > 400+0 records out > 3276800 bytes transferred in 8 secs (409600 bytes/sec) Just to remind you that IDE is better than SCSI ;-): [All with profiling kernel, profiling off] Toshiba MK537FB disk 486DX2/66 VLB Ultrastor 34F controller: dd if=/dev/rsd0 of=/dev/null bs=512 count=4000 4000+0 records in 4000+0 records out 2048000 bytes transferred in 20 secs (102400 bytes/sec) dd if=/dev/rsd0 of=/dev/null bs=4k count=4000 4000+0 records in 4000+0 records out 16384000 bytes transferred in 21 secs (780190 bytes/sec) dd if=/dev/rsd0 of=/dev/null bs=8k count=4000 4000+0 records in 4000+0 records out 32768000 bytes transferred in 26 secs (1260307 bytes/sec) dd if=/dev/rsd0 of=/dev/null bs=64k count=4000 4000+0 records in 4000+0 records out 262144000 bytes transferred in 102 secs (2570079 bytes/sec) Samsung SHD-3212A disk 486DX/33 IDE: dd if=/dev/rwd0 of=/dev/null bs=512 count=4000 4000+0 records in 4000+0 records out 2048000 bytes transferred in 4 secs (512000 bytes/sec) dd if=/dev/rwd0 of=/dev/null bs=4k count=4000 4000+0 records in 4000+0 records out 16384000 bytes transferred in 13 secs (1260307 bytes/sec) dd if=/dev/rwd0 of=/dev/null bs=8k count=4000 4000+0 records in 4000+0 records out 32768000 bytes transferred in 25 secs (1310720 bytes/sec) dd if=/dev/rwd0 of=/dev/null bs=64k count=4000 4000+0 records in 4000+0 records out 262144000 bytes transferred in 188 secs (1394382 bytes/sec) The SCSI disk has a much lower overhead but it has a worse transfer rate for a block size of 8K, and even worse transfer rate for smaller block sizes. It only has a reasonable transfer rate for huge block sizes (64K or more). Such block sizes get used when iozone is run but don't get used much for normal operations. Operations such as `cvs co' that do a lot of small i/o's run much faster on the IDE drive. A high-end SCSI disk is competitive with the low-end IDE disk for a block size of 4K: Quantum XP34301 disk 486DX2/66 VLB Ultrastor controller: dd if=/dev/rsd1 of=/dev/null bs=512 count=4000 4000+0 records in 4000+0 records out 2048000 bytes transferred in 12 secs (170666 bytes/sec) dd if=/dev/rsd1 of=/dev/null bs=4k count=4000 4000+0 records in 4000+0 records out 16384000 bytes transferred in 14 secs (1170285 bytes/sec) dd if=/dev/rsd1 of=/dev/null bs=8k count=4000 4000+0 records in 4000+0 records out 32768000 bytes transferred in 19 secs (1724631 bytes/sec) dd if=/dev/rsd1 of=/dev/null bs=64k count=4000 4000+0 records in 4000+0 records out 262144000 bytes transferred in 80 secs (3276800 bytes/sec) (5MB/sec before memory is fragmented) Most of the SCSI slowness seems to be caused by the extremely high command overhead of the U34F controller and/or SCSI interface. The minumum overhead seems to be about: Samsung/IDE/noname on 486DX/33: 1msec Quantum/SCSI/BT445C on 486DX2/66: 1.7msec (dd output not shown) Toshiba/SCSI/BT445C on 486DX2/66: 3msec (dd output not shown) Quantum/SCSI/U34F on 486DX2/66: 3.3msec Toshiba/SCSI/U34F on 486DX2/66: 5msec Bruce