Date: Fri, 19 Feb 1999 12:09:03 -0500 (EST) From: Simon Shapiro <shimon@simon-shapiro.org> To: Greg Lehey <grog@lemis.com> Cc: freebsd-isp@FreeBSD.ORG, Bryn Wm.Moslow <bryn@spacemonster.org> Subject: Re: DPT 3334UW RAID-5 Slowness / Weird FS problems Message-ID: <XFMail.990219120903.shimon@simon-shapiro.org> In-Reply-To: <19990219113330.C14890@lemis.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Greg Lehey, On 19-Feb-99 you wrote: > On Wednesday, 17 February 1999 at 12:07:01 -0500, Shimon Shapiro wrote: > > > > Greg Lehey, On 16-Feb-99 you wrote: > >> On Monday, 15 February 1999 at 13:08:22 -0800, Bryn Wm. Moslow wrote: > >>> I recently installed a DPT 3334UW with 64MB cache in a mail server > >>> running RAID-5 with a 32K stripe on an external case on which the > >>> user > >>> mail spool is mounted. The array is comprised of 6 Seagate Ultra Wide > >>> 4.5GB SCA drives. The system is a P2 300 with 384MB and uses an > >>> additional Seagate UW drive for boot, /usr, /var, swap, and staff > >>> home > >>> directories. It doesn't go into swap often but if it does it only > >>> hits > >>> about 5 to 10 MB. The system is running FreeBSD 2.2.8. > >> > >> I don't know the DPT controllers, but 32 kB stripes are far too > >> small. > >> For better performance, you should increase them to between 256 kB > >> and > >> 512 kB. Small stripe sizes create many more I/O requests at the > >> drive > >> level. > > > > It highly depends on the amount of cache memory on the card and the > > nature > > of the access. If I/O is sequential in nature, then Greg is correct. > > If > > it is highly fragmented and random (as in most DBMS), then Greg is only > > correct if there is a lot of memory and access is to large blocks. > > As I said, FreeBSD I/O requests range in size between 512 bytes and 60 > kB. With a 16 kB stripe size, you would need to have an average block > size of about 1 kB in order to avoid significant performance impact. > DBMSs tend to read and write blocks of 16 kB or so. Oracle default (was at one time) 8K, with large/busy systems set sometimes to the max of 64KB. Never saw any benefit in much larger stripes. Bus data times become excessively long. I have someplace a graph depicting FreeBSD block size distribution. The pre-CAM driver collected such data. I may put it back in. > >>> If I format with the default settings to newfs, everything works > >>> fine. The same hang also occurs if I try to do 16K block size. I > >>> haven't tried anything bigger as I had an extremely tight window in > >>> which to get the machine online. > >> > >> You should consider that once you have set the stripe size, you're > >> stuck with it. Unless the DPTs have a good reason (like "not > >> supported"), take a 256 kB stripe size. > > > > a. Newfs parameters have nothing to do with the SCSI HBA (DSPT or > > otherwise. If 16k block size hangs, it is a bug elsewhere. > > I studied such complaint long, long ago (on FreeBSD 3.0) and the > > requests did not even hit the DPT. > > But, like Greg said, this has almost no bearing on perfromance... > > > > b. The DPT firmware will take up to 1MB stripes. Beware there is no > > more > > than 64MB of cache on the card (if that much), and very large > > stripes > > may consume all the cache quickly and inefficiently. > > Do you have any information about how the controller uses the cache? highly proprietary. You can control percentage of read-ahead, but not much more. > >From the design of Vinum, I would expect that these memory areas would > not be cached. Vinum will never use more memory than is needed to > satisfy the request, so this makes a maximum of 60 kB per request. > Memory use for fragmented requests is higher, not lower. I actually saw 64K blocks, but 60 is close enough :-) > > Greg > -- > See complete headers for address, home page and phone numbers > finger grog@lemis.com for PGP public key Sincerely Yours, Shimon@Simon-Shapiro.ORG 770.265.7340 Simon Shapiro Unwritten code has no bugs and executes at twice the speed of mouth To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isp" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?XFMail.990219120903.shimon>