• 締切済み

Tomcatの設定で困っています。

Tomcatの設定で困っています。 現在、MySQLとTomcatでJDBCを用いてブラウザゲームを作成しております。 あるプログラムを何度か実行すると、Tomcatがどんどん重くなります。 TomcatのManagerでサーバーの状態を見ると、 "http-bio-8080"の何個かのスレッドのTimeがもの凄い時間になっていました。 Tomcatを再起動すると、直り、動作も軽くなります。 これは、いったいどういった状態なのでしょうか??完全に初心者なので教えてくださると助かります。 "http-bio-8080" Stage Time B Sent B Recv Client VHost Request R ? ? ? ? ? ? P ? ? ? ? ? ? S 5797966 ms 0 KB 0 KB ○.○.○.○ ○○.ne.jp POST ○○○ HTTP/1.1 R ? ? ? ? ? ? P ? ? ? ? ? ? R ? ? ? ? ? ? こんな感じです。Timeが長く、上手く処理されないスレッド?がないときは動作は軽いです。 こちら、対処法などございましたら、ご教示ください。

みんなの回答

回答No.1

Tomcatの設定なのかなぁ?と、思ってます。 もちろん隣で全ソースを眺めてないので何ともですが… まずは問題を切り分けましょう! 怪しそうなところから。 まずDBアクセスです。 ResultSetやStatement、Connectionはしっかり閉じてますか? close()を呼んでますか? 遅延やフリーズは大体、この辺りをミスってることが多いです。 今一つピンときていなければ、どこで遅延が発生しているか System.outしてみましょう。 フレームワークを使ってるのか分かりませんが、 1・サーブレットクラスのdoHogeHogeが呼ばれた直後 2・DBアクセス前 3・DBアクセス後 4・サーブレットクラスのdoHogeHoge終了直前 の4箇所で System.out.println(new SimpleDateFormat("HH:mm:ss.SSS").format(new Date())); って書いて、どんどん実行します。 遅延が酷くなる箇所があれば、その間のソースが怪しいです。 最後にTomcatです。 Tomcatの設定はイジりましたか? イジったのであれば、その箇所を提示してください。 (例えばコネクションプーリングの設定を行った等) 高度な変更を行っていなければ、tomcatはまずないと思っています。 上記3つを確認して、分からなければまた聞いてください。

Mamoru127
質問者

お礼

やはり、プログラミングの問題だったようです。 Tomcatの設定では、そこまで遅延はならないのですね。 大変助かりました。ありがとうございます。

関連するQ&A

専門家に質問してみよう