INN not keeping up with incoming news
Russ Allbery
rra at stanford.edu
Sun Feb 25 00:38:16 UTC 2001
Alex Kiernan <alexk at demon.net> writes:
> We've just taken to locking the history.{hash,index} in core; its worked
> wonders - we've gone from spending hours per day in HIS* to under 10
> minutes (although I've no doubt that some of the time is hidden
> elsewhere).
Here's something to try if you have a test box for it: only mlock
history.index and see if you still get the same win. I wouldn't be
surprised if you did.
history.hash is already mmap'd, so I think you're already seeing a lot of
the benefits there. history.index on the other hand isn't mapped at all
and INN normally writes to it without any buffering at all. This is a big
drawback of the new dbz code that needs to be fixed, after the new history
API, and I think it's the main reason why people are seeing history writes
be so slow.
When you lock it into memory, though, with Solaris and its unified buffer
cache, I bet all of those disk writes are staying in memory. I wonder if
you wouldn't get similar performance by editing innd/his.c and specifying
INCORE_MMAP for opt.pag_incore.
> If anyone's interested, here's the code we're using (it doubtless has
> some Solaris assumptions, I haven't tried building it anywhere else):
Shall I drop this into contrib?
--
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
More information about the inn-workers
mailing list