- PR -

Tomcatがハングする

1
投稿者投稿内容
Daylami
会議室デビュー日: 2004/11/10
投稿数: 1
投稿日時: 2004-11-10 17:38
初めて投稿します。

Tomcatを利用してWebアプリケーションを構築し、運用しています。
以前は、Tomcat3.1を利用していて、問題なく利用できていましたが、
利用アプリケーションのバージョンアップに伴い、
Tomcatも、4.1.30へバージョンアップしました。

ところが、日に数回(2〜4回程度)、Tomcatがハングしてしまい、
ページが表示されないケースが発生しています。
Tomcatのログにも、特定のエラーメッセージが出力されず、
原因を割り出せないでします。
Tomcatを再起動すれば、問題なく動作しますが、
再起動後、また数時間後にハングしてしまいます。

起動時のヒープサイズは、1.5GB相当(-Xmx 1536m)と取っていますし、
ログ上にもOutOfMemoryエラーも出力されていませんので、
ヒープサイズが不足しているということもないと思います。

server.xmlには、以下のように設定しています。
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
port="8091" minProcessors="5" maxProcessors="120"
enableLookups="true" redirectPort="8443"
acceptCount="120" debug="0" connectionTimeout="20000"
useURIValidationHack="false" disableUploadTimeout="true" />

maxProcessorsについては、デフォルト値の"75"だと
度々上限に達したというようなエラーが出力されていたので、
上限を増やしています。
その後、エラーが発生するようになったため、
その辺りが影響を与えていると思っているのですが、
どのように修正すればよいか分かりません。

原因・解決策があれば、教えてください。
以上、宜しくお願い致します。
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2004-11-10 17:49
スレッド数は必ずしも増やせばパフォーマンスがあがるというものではありません。スレッドの切り替えに時間がかかってかえってパフォーマンスが低下することもあります。最適な数字は負荷テストを行って決めましょう。

さて、ハングに陥った Tomcat ですがスレッドダンプを取得しないと何が問題となっているのかわかりません。
スレッドダンプを取得してどこで止まっている/スローダウンしているのか確認しましょう。
スレッドダンプについてご存じなければ以下のスレッドが参考になるかと思います。
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=14144&forum=12
1

スキルアップ/キャリアアップ(JOB@IT)