Disabling (part of the) timers ?
rra at stanford.edu
Tue Jun 7 03:40:16 UTC 2005
Christiaan den Besten <chris at prolocation.net> writes:
> Is it in anyway possible to disable (as much as possible) the 'timers'
> used in numerous places of inn and nnrpd. For a test I disabled the
> (nnrp write)timer in nnrpd and let the other one (used to check for
> Client time-out) run once every 100 iterations. It felt like the nnrpd
> (1000 instances running on the server) used way less CPU.
Yes, you can disable the timers in innd by just setting timer to 0 in
inn.conf. This should affect nnrpd as well but it currently doesn't; I'll
fix that in Subversion.
> Just stracing the inn process shows me numerous gettimeofday's ... are
> all of the necessary?, or am I mistaking in the overhead of CPU power
> required for doing this systemcall?
gettimeofday is the fastest possible syscall, and is usually implemented
in as quick of a method as is available on the architecture. Disabling
the timers also won't eliminate this; a lot of them are coming from
select() rather than the timers. gettimeofday is about as close to free
as syscalls get.
> ( when our server is -realy- busy, we have disk I/O left, but 0% CPU
> from the Dual Xeon 2.8 cpu's ... )
That's fairly unusual for INN, and I'd be interested in the information
that the timer code would give you before you turned it off. :) INN
really doesn't use CPU power except in the filtering code.
Russ Allbery (rra at stanford.edu) <http://www.eyrie.org/~eagle/>
Please send questions to the list rather than mailing me directly.
<http://www.eyrie.org/~eagle/faqs/questions.html> explains why.
More information about the inn-workers