0

Weblogic 12c / Solaris 10 本番システムでは、リクエストの処理時間は約 5 秒です。Weblogic にデプロイされたアプリケーション自体にかかる時間は 200 ミリ秒未満であり、その後、実行中のスレッドは weblogic 内部メソッド DynaQueue.getW で 5 秒間ブロックされます。

問題が発生すると、サーバーに負荷がかかりません。

この厄介な動作を引き起こす原因を知っていますか? これをさらに調査する方法はありますか?

ハングしている実行中のスレッドのスタック トレースを次に示します。

"[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'" デーモン > prio=3 tid=0x0000000107280000 nid=0x27 in Object.wait() [0xffffffff66cfe000] java.lang.Thread .State: java.lang.Object.wait(ネイティブ メソッド) で (オブジェクト モニタで) TIMED_WAITING - weblogic.socket.utils.DynaQueue.getW(DynaQueue. java:237) - weblogic.socket.SocketReaderRequest.run(SocketReaderRequest.java:29) の weblogic.socket.JavaSocketMuxer.processSockets(JavaSocketMuxer.java:336) で <0xfffffffe911c6770> (a weblogic.socket.utils.DynaQueue) をロックweblogic.work.ExecuteThread.execute(ExecuteThread.java:256) で weblogic.work.ExecuteThread.run(ExecuteThread.java:221)

4

1 に答える 1