※ ChatGPTを利用し、要約された質問です(原文:サーバでエラーが多発した後、動作が重くなってしまう)
サーバでエラーが多発、動作が重くなる原因と対策|質問
このQ&Aのポイント
サーバでエラーが多発した後、動作が重くなる問題についてまとめました。同様の障害を経験された方からの原因や対策についての教えをお待ちしています。
クライアントからサーバにアクセスした際の応答が悪くなってしまい、困っている問題についてまとめました。同様の経験がある方からの解決策をお教えください。
クライアントからのアクセスができないエラーが発生し、多数の端末で同様のエラーが発生する問題についてまとめました。原因や解決策についての情報をお持ちの方がいらっしゃいましたら、教えてください。
サーバでエラーが多発した後、動作が重くなってしまう
【概要】
クライアントでサーバにアクセスした際の応答が悪くなってしまい、困っています。
【構成】
機器の構成は以下の通りです。
[サーバ]
プログラム言語 : Java/JSP/Servlet
Webサーバ : apache/tomcat
OS : Windows Server 2008
[クライアント]
プラットフォーム : Android2.3 / 50台
OS : Windows embedded / 10台程度
[通信環境]
無線LAN Wi-Fi
<運用状況>
Androidクライアント数 : 50台
日中のみの運用で、夜は稼働していない
23:30頃にサーバをシャットダウンし、翌日の朝10:00頃に起動する運用。
【事象】
1.昼12:20頃クライアントのAndroid端末でWebページが取得できないエラーが発生。
「ページがみつかりませんでした」とのエラーメッセージが表示される。
2.「1.」のエラーが1台の端末だけでなく、他の端末でも起こり始める。
3. 多数の端末で「1.」のエラーが発生する。
4. 同じWebサーバにアクセスするWindowsOSのクライアント端末の操作が重くなる。
5. 50台の全てのAndroid端末の画面が初期画面に遷移する。
6. Webサーバを再起動し、クライアントから正常に操作できるようになる。
[ログ]
サーバ側のログを調査し、クライアント全台が使用不可になる前に以下のエラーが180件程度発生している事を確認。
(例)
2014-05-04 11:32:32 StandardWrapperValve[default]: サーブレット default のServlet.service()が例外を投げました
java.net.SocketException: Connection reset by peer: socket write error
[対応状況]
(1)一日の終わり23:30~0:00頃にサーバをシャットダウンし、翌日の朝10:00頃に起動する運用だが、障害発生前日はシステム・メンテナンス上の都合でシャットダウンを行っていなかった。
(2)こののち、サーバを必ず夜シャットダウンするようにしたところ、昼に同障害は発生しなくなった。
(3)しかし、19:00頃、再度同障害が発生したため、「サーバ起動後、ある程度の時間運用すると、当障害が発生する」との考えから、昼15:00頃、サーバを再起動するようにしたところ、以後障害は発生していない。
【質問】
同様の障害を経験した方で、原因として思い当たる節がある方はお教えください。
今のところ、似た構成のシステムで、NullPointerExceptionが頻発した後に、サーバの応答が遅くなった事があるため、エラーが多数発生すると、サーバが重くなるのではないかと疑っています。
しかし、エラーが多数発生することにより、なぜサーバが重くなるのかが分からないため、対策を取ることができず、行き詰っています。
また、原因を明らかにするために、調査した方が良い箇所についてご存じの方がいましたら、その点についてもお教えください。
例えば、Wi-Fiの通信状況、クライアントの同時接続数、tomcatのリソース状況など色々な観点があると思いますが、この場合、どういう箇所が障害箇所として考えられるのでしょうか?
障害の切り分けについて、ご存じの方がいらっしゃいましたら、ヒント程度でも結構ですので、お教え頂ければと思います。
よろしくお願い致します。
お礼
ありがとうございます。 やはりメモリリークの可能性があるのですね。 その線で調べてみます。 バージョンが古いのも良くないとの指摘、ありがとうございます。 確かに古いバージョンを使っていて、 tomcat 4.1 Java 1.4 Android 2.3 です。 アクセスログ等も取得、解析してみます。