From owner-freebsd-scsi Mon Oct 19 21:28:10 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA03976 for freebsd-scsi-outgoing; Mon, 19 Oct 1998 21:28:10 -0700 (PDT) (envelope-from owner-freebsd-scsi@FreeBSD.ORG) Received: from f03n03.cac.psu.edu (f03n03-fddi.cac.psu.edu [146.186.157.10]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA03969 for ; Mon, 19 Oct 1998 21:28:08 -0700 (PDT) (envelope-from keefe@cse.psu.edu) Received: from whistle (keefe.bitstream.net [206.144.239.50]) by f03n03.cac.psu.edu (8.8.7/8.6.12) with SMTP id XAA164990 for ; Mon, 19 Oct 1998 23:45:03 -0400 From: "Thomas F. Keefe" To: "FreeBSD Mailing List" Subject: Sequential Disk I/O Date: Mon, 19 Oct 1998 22:46:40 -0500 Message-ID: <000f01bdfbdc$3ee7d6c0$0100a8c0@whistle.bitstream.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook 8.5, Build 4.71.2173.0 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3155.0 Importance: Normal Sender: owner-freebsd-scsi@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org I am trying to write the logging portion of a database and have had trouble getting good performance. I am trying to avoid seek and rotational latency by writing consecutive 512 byte blocks to the disk. Here are some details. I am using Mach/Lites, with the drivers for the Adaptec aic7xxx controller ported from FreeBSD (the version from around 9/97). I am using an Adaptec 2940UW with a Western Digital Enterprise 2G wide SCSI drive (I have tried some other drives as well.) The writing is done by two tasks (processes) so that the next write should always be ready when the previous one finishes. I am able to verify that multiple SCSI requests are in the adapter concurrently. I have also verified that the SCSI write requests are to consecutive logical blocks. However, even with 8 requests in the controller, the average time to complete a request is about 4ms. This amounts to a few sectors written per revolution. I get similar results with iozone under FreeBSD. When the block size is 512 bytes, the throughput is about 50KB/sec. (for a raw device). When the block size is large the bandwidth hits several MB/sec. Is it possible to achieve sequential I/O rates (i.e., no seek latency and no rotational latency) with small write requests? Any insight you can provide will be appreciated. Thanks. Tom Keefe keefe@cse.psu.edu Dept. of Computer Science and Eng. Penn State To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-scsi" in the body of the message