[Seasar-user:21210] Re: アプリケーションサーバのCPU高騰

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2011年 12月 15日 (木) 03:24:45 JST


小林 (koichik) です.

> スレッドダンプを確認したところ、
> EvermindHttpServletRequest.setAttribute、
> EvermindHttpServletRequest.getAttribute
> が繰り返しコールされているスレッドが多数ありました。

HttpServletRequest は通常スレッド固有のものなので
同期化されませんが,複数のスレッドから利用することも
ないはずです.

本当に HttpServletRequest の get/setAttribute() で
CPU 高騰が発生しているなら,HttpServletRequest 自体の
使い方に問題があることになりますね.
自分でスレッド起動して HttpServletRequest を渡したり
していないか確認してみては?


On Wed, 14 Dec 2011 18:38:45 +0900, 市川 尚也 <[E-MAIL ADDRESS DELETED]> wrote:

> お世話になっております。
> n_ichikawa2000と申します。
> 
> タイトルの件の問題が発生しており、
> 何かしら情報が得られればと思い投稿致します。
> こちらで質問するのは的外れかもしれませんが、宜しくお願いします。
> 
> 【使用バージョン】
> s2-framework-2.4.17.jar
> s2-extension-2.4.17.jar
> s2-dao-1.0.46.jar
> teeda-core-1.0.11-SP1.jar
> teeda-extention-1.0.11-SP1.jar
> 
> 【問題】
> 本番運用中に、OracleApplicationServerにて、CPU100%となりサーバがダウンしてしまう問題が発生。
> スレッドダンプを確認したところ、
> EvermindHttpServletRequest.setAttribute、
> EvermindHttpServletRequest.getAttribute
> が繰り返しコールされているスレッドが多数ありました。
> 
> ※スレッドダンプ自体はネットワークを繋げられる環境ではない為、一文のみ記載しておきます。
> 
> "AJPRequestHandler-RMICallHandler-620" prio=10 tid=0x5552 runnable[0x80c95000]
>    java.lang.Thread.State:RUNNABLE
>    at java.util.HashMap.get(HashMap.java:303)
>    at com.evermind.server.http.EvermindHttpServletRequest.getAttribute(EvermindHttpServletRequst.java:3226)
>    at javax.servlet.ServletRequestWrapper.getAttribute(ServletRequestWrapper.java:127)
>    at org.seaser.framework.container.external.servlet.ServletRequestMap.getAttribute(ServletRequestMap.java:46)
>    at org.seaser.framework.container.external.AbstractExternalContextMap.put(AbstractExternalContextMap.java:97)
> 
> 【検証状況】
> サポートからは、HashMapの使い方がスレッドセーフであるか確認して欲しいとの回答がありました。
> 当方で使用しているHashMapを洗い出しましたが、Collections.synchronizedMapで宣言しており、
> スレッドセーフであると言えると思われます。
> そのほかの発生原因には何が考えられますでしょうか。
> またそのほか、足りない情報があれば指摘して頂きたいです。
> 
> 宜しくお願いします。
> 
> _______________________________________________
> Seasar-user mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-user


-- 
{
  name: "Koichi Kobayashi",
  mail: "[E-MAIL ADDRESS DELETED]",
  blog: "http://d.hatena.ne.jp/koichik/",
  twitter: "@koichik"
}



Seasar-user メーリングリストの案内