Thanks, John. We'll give it a shot.
-kari
On Thu, 2005-06-16 at 09:08, John Zhao wrote:
> You have set 25 minHandlerThreads and 25 activeHandlerThreads. I don't
> think this is a good idea. Reduce min to 1 and you may increase
> activeHanlder to a higher number depending on the load requirement.
>
> -----Original Message-----
> From: Kari M. Scott [mailto:[EMAIL PROTECTED]
> Sent: Thursday, June 16, 2005 9:44 AM
> To: JRun-Talk
> Subject: RE: many jrunx.scheduler.JSemaphore threads in wait state
>
> On Wed, 2005-06-15 at 22:14, John Zhao wrote:
> > It has nothing to do with the scheduler service. You should post
> > ProxyService config instead. What is the metrics format like?
>
> Okidoki. Here's what we have for our proxy service config:
>
> <service class="jrun.servlet.jrpp.JRunProxyService"
> name="ProxyService">
> <attribute name="activeHandlerThreads">25</attribute>
> <attribute name="backlog">500</attribute>
> <attribute name="deactivated">false</attribute>
> <attribute name="interface">*</attribute>
> <attribute name="maxHandlerThreads">1000</attribute>
> <attribute name="minHandlerThreads">25</attribute>
> <attribute name="port">9000</attribute>
> <attribute name="threadWaitTimeout">300</attribute>
> <attribute name="timeout">300</attribute>
> <attribute name="mapCheck">0</attribute>
> </service>
>
> And, here's our metrics format:
>
> <attribute name="metricsFormat">Thrds: L={jrpp.listenTh}
> I={jrpp.idleTh} Q={jrpp.delayTh} R={jrpp.busyTh} TOT={jrpp.totalTh}; Rq:
> Q={jrpp.delayRq} X={jrpp.droppedRq} S={jrpp.handledRq}; Shd:
> L={scheduler.listenTh} Q={scheduler.delayTh} R={scheduler.busyTh}
> X={scheduler.droppedRq} TOT={scheduler.totalTh};
> (Free/Tot)={freeMemory}/{totalMemory}; Sess:
> (InMem/Tot)={sessionsInMem}/{sessions}</attribute>
>
> > Also you should reduce the minThreadHandle to 1 since it doesn't do
> any good for you.
>
> Will do.
>
> -Kari
>
> > Here's a snapshot of the metrics log during the last occurrence.
> Notice the jump in idle threads from 32 to 140:
> >
> > 06/15 14:00:25 metrics Thrds: L=25 I=32 Q=0 R=3 TOT=60; Rq: Q=0 X=0
> S=314; Shd: L=23 Q=0 R=1 X=0 TOT=24; (Free/Tot)=579626/1572672; Sess:
> (InMem/Tot)=868/868
> > 06/15 14:01:25 metrics Thrds: L=41 I=140 Q=0 R=0 TOT=181; Rq: Q=0 X=0
> S=278; Shd: L=23 Q=0 R=1 X=0 TOT=24; (Free/Tot)=565261/1572672;
> Sess:(InMem/Tot)=867/867
>
> > I took a series of thread dumps during this occurrence and found that
> the majority of these threads are these JSemaphore things in a wait
> state:
> >
> > "jrpp-4220" prio=5 tid=0x009cd008 nid=0xabf5 in Object.wait()
> > [7c67f000..7c67fc28]
> > at java.lang.Object.wait(Native Method)
> > - waiting on <0xa22547d0> (a jrunx.scheduler.JSemaphore)
> > at jrunx.scheduler.JSemaphore.acquire(JSemaphore.java:74)
> > - locked <0xa22547d0> (a jrunx.scheduler.JSemaphore)
> >
> > Does anyone know what would cause a backup of these threads?
>
>
>
--
--------------------------------------------------
Kari M. Scott [EMAIL PROTECTED]
Software Engineer 608 298-1223
Berbee
5520 Research Park Drive
Madison, WI 53711
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49
Message: http://www.houseoffusion.com/lists.cfm/link=i:8:5701
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/8
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:8
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.8
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54