Andrew, It might be a bug, and I just discovered another one related to this. If -timeout is set to zero or less, the value is still used, but it should probably be set to null, meaning infinite timeout:
403 if (poolPtr->threads.current <= poolPtr->threads.min) { 404 timePtr = NULL; 405 } else { For one, I've moved this check inside the following while loop so it gets a chance to change on each cycle, but I also made these modifications: . if (poolPtr->threads.timeout <= 0 . || poolPtr->threads.current -1 <= poolPtr->threads.min) { . timePtr = NULL; . } else { The behavior I see with apache bench is that after a bunch of requests are finished, most of the threads exit, if there is a timeout. However, this may be a result of the fact that apache bench sends extra requests and then disconnects them. The problem is that each thread calculates for itself what to do, and there is no way for them to know what other threads are going to do within the next cycle. I've started looking at JMeter, because apache bench doesn't really do what you ask it to do, but maybe that is good. You discover things you weren't testing for. For one, even with concurrency set at some number, fast requests will lead apache bench to send another request before cleanup is complete on AOLserver. AOLserver thinks the concurrency is higher than ab, up to double the concurrency. I know this because I'm testing a boost factor for minthreads. On large requests, threads.current never reaches the concurrency level of ab, but on small requests, it can exceed it, up to maxthreads-2. With my latest changes to my setup, the threadpool moderates to something else: with high concurrency, the idle threads value tends to zero. If concurrency is less than maxthreads, the queued requests tends to zero. Eventually, if concurrency is less than maxthreads, both of these values tend to zero, they bounce around a low number and zero, so all threads are busy and the queue is empty. Otherwise the trend appears to be current+queued=concurrency and idle=0. tom jackson On Monday 22 October 2007 07:48, Andrew Piskorski wrote: > On Mon, Oct 22, 2007 at 06:30:40AM -0700, Tom Jackson wrote: > > My only point here was that I'm going to stop looking at the timeout > > parameter, and timed out threads as an issue. If threads timeout, the > > number of threads in a threadpool will drop below minthreads, usually to > > zero. > > But isn't that a bug? If not, just what is "minthreads" supposed to > really mean? -- AOLserver - http://www.aolserver.com/ To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.