Hi Maik,

"WorkerThread207" that many worker threads indicates two things to me:
1. Your app configuration is too high.  I'd use a max of 6-10 and a listen 
queue size of around 4 (adjusted to suit your specific needs).  A WO app is 
very, very unlikely to recover from a 200 worker thread backlog in any way that 
is useful to the users

2. You have a thread that is taking a long time to return a result.  If you are 
dispatching requests concurrently, then this is most likely stuck in 
EOControl/EOAccess (e.g. waiting for a slow query result) or connecting to some 
external process.  You could also have a deadlock.  If you are not dispatching 
requests concurrently, then this delay could be in other code.

The traces below do not show the problem.  If you want to send a full dump, I 
am willing to look at it.  It is possible that the problem had resolved by the 
time you took this dump.  What you show below is normal for a lot of worker 
threads.  WorkerThread206 is waiting for a new request, WorkerThread207 is idle 
waiting for something to do in the future.

Chuck


On 2012-09-10, at 8:03 AM, Maik Musall wrote:

> Hi,
> 
> in an app with high concurrency, the app sometimes becomes unresponsive to 
> everything but DirectActions at the time of day with the most concurrency. 
> All users aren't seeing responses any more. In jstack I see hundreds of these:
> 
>> "WorkerThread207" prio=5 tid=131e0a800 nid=0x151aa2000 waiting for monitor 
>> entry [151aa1000]
>>   java.lang.Thread.State: BLOCKED (on object monitor)
>>      at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:406)
>>      - waiting to lock <20d3da450> (a java.net.SocksSocketImpl)
>>      at java.net.ServerSocket.implAccept(ServerSocket.java:462)
>>      at java.net.ServerSocket.accept(ServerSocket.java:430)
>>      at 
>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
>>      at java.lang.Thread.run(Thread.java:680)
> 
> all waiting on the same lock 20d3da450, and one thread holding that lock:
> 
>> "WorkerThread206" prio=5 tid=131d79800 nid=0x15199f000 runnable [15199e000]
>>   java.lang.Thread.State: RUNNABLE
>>      at java.net.PlainSocketImpl.socketAccept(Native Method)
>>      at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:408)
>>      - locked <20d3da450> (a java.net.SocksSocketImpl)
>>      at java.net.ServerSocket.implAccept(ServerSocket.java:462)
>>      at java.net.ServerSocket.accept(ServerSocket.java:430)
>>      at 
>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:210)
>>      at java.lang.Thread.run(Thread.java:680)
> 
> Anyone familiar with this problem?
> 
> Maik
> _______________________________________________
> Do not post admin requests to the list. They will be ignored.
> Webobjects-dev mailing list      ([email protected])
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/webobjects-dev/chill%40global-village.net
> 
> This email sent to [email protected]

-- 
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall 
knowledge of WebObjects or who are trying to solve specific problems.    
http://www.global-village.net/gvc/practical_webobjects









 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to