Re: NO_ATIME missing in 2.0.30

Olaf Kirch (okir@monad.swb.de)
Thu, 10 Apr 1997 17:27:02 +0200 (MET DST)


To: linux-kernel@vger.rutgers.edu
Subject: Re: NO_ATIME missing in 2.0.30
X-Newsreader: TIN [UNIX 1.3 950515BETA PL0]

Daniel Quinlan wrote:
: Other than NO_ATIME changes (and disk system improvements such as
: RAID), is there anything else worth doing to improve performance
: specifically for news servers?

I've recently wondered about this myself. I admit that I have not done
any performance measurements to support my suggestions, but here we go
anyway. Feel free to rip them to pieces.

The basic assumption is that articles are accessed entirely at random.
This will send your VFS caches thrashing, discarding or paging out
important data (such as .overview files, or parts of the nnrpd/innd image
itself) in favor of article data. When articles are accessed randomly,
the chance of a cache hit on an article file is highly unlikely anyway,
so there's little reason to keep them around longer than is absolutely
required. Here are some suggestions (which may also help other heavily
file-based services such as httpd):

* Increase the size of the lookup cache. One may want to
put directories and .overview files into cache level 2
right away. Alternatively, avoid caching of name lookups
on article files.
* When opening a file for reading, instantly trigger a
read-ahead of the first one or two pages of data.
* When closing a file (as long as it's not a .overview file)
discard all cached data (i.e. call inode_invalidate_pages from
put_inode).

Much of this could be handled using a new ext2 inode attribute for
article files (EXT2_JUNKFILE_FL :-). INN would have to be modified to
set this flag on any newly filed article.

Cheers,
Olaf

-- 
Olaf Kirch         |  o>   o>    o>    o>    o>    o>    o>    o>    o>
okir@monad.swb.de  | dD_  dD_   dD_   dD_   dD_   dD_   dD_   dD_   dD_
Darmstadt, Germany | save the lemmings save the lemmings save the lemmings