So maybe play around with the timeout value, maybe if it is zero they don't
timeout. If you want threads to exit at some point, use maxconnections to
make them exit.
So the problem is very likely that as maxconns is reached, threads are
deleted, but there is never any check that numthreads have fallent below a
minimum value. Hopefully you will reach a number of threads necessary to
service the requests without going over maxthreads, but minthreads appears to
be only a hint for startup, after that the threadpools regulates itself to
minimum resources. However...does it ever reach zero, because if it does, I
have noticed that the threadpool no longer responds to requests. This would
be a definite bug.
tom jackson
On Monday 01 October 2007 07:45, Shedi Shedi wrote:
> You said that current should never drop below min. But in my case after
> threads have serviced configured number of requests they start to die. idle
> and current keeps dropping until 0 and never comes up again.
>
> The server logs shows lines like:
> [01/Oct/2007:16:41:43][20634.3027639200][-conn:335-] Notice: exiting:
> exceeded max connections per thread
> [01/Oct/2007:16:42:19][20634.3027499936][-conn:336-] Notice: exiting:
> exceeded max connections per thread
> [01/Oct/2007:16:42:37][20634.3027360672][-conn:337-] Notice: exiting:
> exceeded max connections per thread
>
> It looks like as threads begin to die after servicing 150 requests no new
> threads are created.
>
> nspool output at the start of the server:
>
> nspools=minthreads 400 maxthreads 500 idle 400 current 400 maxconns 150
> queued 11 timeout 60
>
> nspools output showing when idle and current are at 1:
> nspools=minthreads 400 maxthreads 500 idle 1 current 1 maxconns 150 queued
> 56,679 timeout 60
>
> Can anyone point out what i'm going wrong here. Why the new threads are not
> being created in the pool?
>
> kind regards,
>
> On 9/15/07, Dossy Shiobara <do...@panoptic.com> wrote:
> > > Both current and idle, when server is started their value is set from
> >
> > config
> >
> > > file. e.g. if i set min to 100 then the current and ilde has 100. But
> > > at that point there's no request why does current returns 100?
> >
> > current indicates the current number of threads in the pool. Current
> > should never drop below min and never exceed max. If current == idle,
> > then all threads are idle. If idle == 0, then all current threads are
> > busy servicing a request.
>
> --
> AOLserver - http://www.aolserver.com/
>
> To Remove yourself from this list, simply send an email to
> <list...@listserv.aol.com> with the body of "SIGNOFF AOLSERVER" in the
> email message. You can leave the Subject: field of your email blank.
--
AOLserver - http://www.aolserver.com/
To Remove yourself from this list, simply send an email to <list...@listserv.aol.com> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of your email blank.
ns_pools shows that:
minthreads 400 maxthreads 500 idle 400 current 400 maxconns 150
queued 13954 timeout 60
400 threads * 150 = 60,000 requests.
In my last run of the server thats what i observed threads begin to
exit after the queued values reached around 56,000 approx. I'm sure
after about 3/4 days i'll seem the threads exiting and reaching zero.
But this time i shall check when idle=0 am i able to get response from
the server thread pool. I'll get back on this one. Perhaps i'll be
able to create a small test scenario to recreate this.
Looking at my ns_pools output above, 400 idle threads are waiting and
none is timing out after 60 seconds or they are timing out but logs
doesn't indicate this.?