It turns out that my high messageSendTime's and routingTime's were
primarily caused by:
1. A script I was running to parse the logfiles for useful information.
Which of course ran at a higher priority than my nodes.
and
2. The fact that I was running at logLevel=debug.

(fixing point 1 on its own was not sufficient to fix the problem...)

Relevant points:
1. messageSendTime is sensitive to CPU usage. As is routingTime. Nodes
that have a lot of foreground tasks will get high messageSendTime's, and
NGRouting will avoid them unless it has a really good routing reason to
use them.
2. logLevel=debug, on IDE drives anyway (I am buying some SCSI drives to
see if it makes a difference - with debug logs I get ~ 30% of CPU usage
in system, so maybe it will), will cause very high CPU usage. Much
higher than the same load at logLevel=normal. It would be interesting to
know how much of this is caused by constructing the stuff to log, and
how much of it is caused by actually logging it (i.e. writing it to
disk). jrand0m's patch for selective logging may be helpful too, but it
involves creating the log strings at debug and then dropping the ones we
don't want...
3. DO NOT USE REISERFS3 (4's allocate on flush _might_ work better, but 
untested) for Freenet debug logs! The above was alleviated significantly
by changing my log partition to ext2. So far messageSendTime's look 
fine, with ext2 and logLevel=debug, but it's only been up a few minutes.
If they stay fine I can avoid spending $1000 on SCSI hardware :)

Of course reiserfs is quite suitable for datastores, AFAIK.
-- 
Matthew J Toseland - [EMAIL PROTECTED]
Freenet Project Official Codemonkey - http://freenetproject.org/
ICTHUS - Nothing is impossible. Our Boss says so.

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to