I recommend you try just doubling the maxThreads setting in your freenet.conf. This should provide a similar result. We need a way to work out the optimal load maximum at configuration time... or adjust it dynamically.
On Wed, Jun 26, 2002 at 05:31:01PM -0700, Tril wrote: > I setup a node on a fast connection. Pretty soon it started > QueryRejecting all incoming requests half the time, even though the > machine was still usable for other things. I wanted to see what sort of > resources Freenet would use if it tried to handle all of the requests. > So I went and found the place in the code where it was deciding when to > QueryReject all incoming connections, and read it. It didn't seem to be > doing anything that I wanted it to do, so I commented it out entirely. > > Patch below. This change does not seem to increase the CPU usage of > Freenet noticeably, in fact it seems to me to have decreased it a small > bit, but it could just be me. My node runs better with this change. It > does not say "QueryRejecting all incoming connections" (except if the > number of threads in use is equal to maximumThreads, so that must be > done somewhere else that I didn't look into because that behavior is > fine with me). More requests can therefore be handled. > > The node has been running for some time since this change with no > apparent adverse effects. > > Can someone explain the purpose of the two checks I removed? > > 1. keeping a frequency count of *outgoing* requests and rejecting > incoming ones if it is too high? Why is the default > (maxConnectionsPerMinute) 60 per minute? Is performing this frequency > count expensive, explaining why commenting this out reduced load? > > 2. looking for activeJobs 2/3 (now 3/5) of maximumThreads? > > It seems to me that these checks only serve to make nodes appear > overloaded when they actually aren't. Is it possible Freenet is not > overloaded at all? > > My machine is about 500MHz. I'd be curious what happens with this patch > on a slower machine. > > Index: Node.java > =================================================================== > RCS file: /cvsroot/freenet/freenet/src/freenet/node/Node.java,v > retrieving revision 1.25 > diff -u -r1.25 Node.java > --- Node.java 26 Jun 2002 01:42:13 -0000 1.25 > +++ Node.java 26 Jun 2002 23:34:22 -0000 > @@ -950,11 +950,7 @@ > * @return true if the Node is QueryRejecting inbound requests, > false otherwise. > **/ > public boolean rejectingRequests() { > - if (outboundRequestLimit.exceeded()) { > - return true; > - } > - > - return activeJobs() > (3 * maximumThreads / 5); > + return false; > } > > /** > > -- > Tril 0. Byte <[EMAIL PROTECTED]> http://tril.tunes.org/ > PGP key fingerprint: DADB ED32 6E54 80D0 7E69 7549 C3A3 446F CAA4 66C0 > This message is placed in the public domain.
msg03342/pgp00000.pgp
Description: PGP signature