Thanks for the pat on my back.
Yesterday evening i restarted the nsd, and this morning in the server
logs there are no indications of idle threads exiting. Either under
normal log level its not written to log as opposed to threads that
reached max connection limits.
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.?
Tom Jackson wrote:
> You're not doing anything wrong. You have a thread timeout. So after 60
> seconds, the idle thread exits. Maybe there is a bug in pools.c, but what is
> happening is that at startup, minthreads are created. If you go in and
> increase minthreads after starup of the pool, the minthreads will not
> increase, ever. But if new requests come in, new threads will be created.
> They are probably being serviced so fast that you never get too many at once
> showing up. If this isn't the case, then it could be a problem.
>
> 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 <[EMAIL PROTECTED]> 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
> > <[EMAIL PROTECTED]> 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 <[EMAIL
> PROTECTED]> 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 <[EMAIL PROTECTED]>
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject:
field of your email blank.