Date: Thu, 18 Feb 1999 11:14:56 -0500 From: Robert Sexton <robert@kudra.com> To: freebsd@digistar.com Cc: freebsd-hackers@freebsd.org Subject: Re: data buffers, disk i/o jsb Message-ID: <19990218111456.A2658@kudra.com> In-Reply-To: <Pine.LNX.4.10.9902180827500.1566-100000@digistar.digistar.com>; from freebsd@digistar.com on Thu, Feb 18, 1999 at 08:51:53AM -0600 References: <Pine.LNX.4.10.9902180827500.1566-100000@digistar.digistar.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Feb 18, 1999 at 08:51:53AM -0600, freebsd@digistar.com wrote: > > hi, > > Is there a compile-time option that I can compile into the kernel to > improve disk caching/buffering? FreeBSD self tunes. Because of the Unified VM/Buffer Cache, resource allocation can change on the fly. Generally, it can tune itself better than you can. I'd have to defer to more experienced folks for a detailed explanation. > My concern/question is I have recently put together a 2.2.8 test server > and noticed that disk access is not up to expectations and I am looking > for a way to remedy it. I guess I'd have to ask what your expectations and needs are. You also haven't provided any details on your hardware. This is quite relevant to your question. > For example, when doing a du or a find across a single slice, the disk is > physically accessed every time I du or find. I had expected the first > find or du access to read and buffer the first pass, and the second find > or du to read from the disk cache or buffer. It seems like there's a lot > of wasted disk i/o when it could be avoided by reading from the disk > cache. This depends on the nature of the filesystem, and whats in it. In the case of /usr/ports, the tree is so mind bogglingly huge that it blows out most of the relevant caches. > Also, if I boot from the boot floppy for installtion and install the ports > collection, the install moves at a much faster pace, like 15K/s. If I > install the ports collection after the install is completed (booting from > the hard disk) the install takes FOREVER, like 2K/s and there is a HUGE > amount of disk access. This really can't be helped. The ports filesystem on one of my production machines contains almost 30k inodes. Building it is a nightmare. I'm told it'll build quite quickly on an asyncronous filesystem. (See Below) > Is there a compile-time option that I can compile into the kernel to > improve disk caching/buffering? None that I'm aware of. However, there are a number of other, better options. a. Mount filesystems with the noatime flag. This elimates a lot of inode updates when walking a large tree. b. Mount filesystems async. This provides terrific performance on large trees like ports, but is the digital equivalent of no seatbelts in a convertable. c. Switch to 3.0 and uses soft updates. This gives you most of the performance of async, but with a high degree of safety. -- Robert Sexton - robert@kudra.com, Cincinnati OH, USA As a software development model, Anarchy does not scale well. -Dave Welch Read the Newton FAQ! <http://www.kudra.com/newton/newton-faq> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990218111456.A2658>