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
