• 締切済み

サーバー不具合の根本原因が分からない

10万件ほどの商品DBから商品検索ができるWebサイトを運営しています。 1つのサーバー内で、コミュニティーなどのその他プログラム関連ページを全てMySQLで動かしていたのですが、運用開始から1年半ぐらいして、急にWebへのアクセスの不具合が起こるようになりました。 サーバー管理会社に問い合わせたところ、MySQLに負荷がかかりすぎてエラーが起きているとのことで、サーバーの再起動をしながらだましだまし使っていたのですが、いよいよ不具合がひどくなったので、2ヶ月ほど前に商品検索と一部プログラムをPostgreSQLに移行しました。 動作も順調になり、変更してよかったと思っていたところ、10日ほど前から動作が重くなり始め、日に日に状態が悪化、昨日はとうとうWebサイトが全く表示されなくなってしまいました。 サーバ管理会社に問い合わせたところ、PostgreSQLの処理が重いこと、検索ロボットからのアクセスが集中していることが原因と考えられるとの回答はもらい、暫定的な対処方法を教えてもらって試してはみたのですが、全く効果がありません。また、不具合の際、サーバを再起動しても状況はほとんど改善されませんでした。 仕方がないので現在はPostgreSQLを停止し、サイトだけは表示できるようにしていますが、プログラムのチューニングを行っても根本的な対処になっていないような気がして、また同様の現象が起きる不安があります。 このような、サーバの不具合はよくあることなのでしょうか? また、どのような対処方法があるかをご教示いただければと存じます。 よろしくお願いいたします。

みんなの回答

  • nolix
  • ベストアンサー率19% (110/572)
回答No.3

セマフォやシェアードバフッアをいじつみては如何でしょうか?

rinego
質問者

お礼

お返事ありがとうございます。 結果報告になりますが、あまりにも不具合が続くため、サーバ管理会社とプログラム制作会社になんとか原因を調べてもらいましたところ、PostgreSQLの動作で蓄積されるログファイル?が重くなりすぎ、サーバ全体に悪影響を起こしていることが分かりました。 現在は、定期的にそのファイルを削除することで、問題なく動作するようになりました。

回答No.2

色々と書いてありますが書いてある情報では何もわかりません。(重くなったとかの表現ばかりなので。。) 対処するには原因を特定しなければいけません。 それをまずきちんとやったほうがいいのでは?やみくもにプログラムのチューニングとかやっても。。 どれくらいのアクセスが来ているのか、それは想定内なのか想定外なのか、DBへのアクセスは更新系が多いのか参照系が多いのかとか、サーバのリソースの具合とか色々調べて見てはどうでしょうか? 「重い」とかじゃなくて、数字で見てみてください。 当初の予想よりもアクセス数がはるかに多いのなら、サーバがさばき切れてない可能性もあるのしょうし、そうでもなければプログラム側に問題があるかもしれません。

rinego
質問者

お礼

さっそくのお返事どうもありがとうございました。 アクセス数については想定内なのですが(もっと多いときもありました)、サーバーの詳細分析については、プログラムページの制作運用をお願いしている制作会社のご担当者と相談したいと思います。 ありがとうございました。

回答No.1

MySQLと絞り込めているのであれば、「mMeasure」や「MySQLTuner」を使用してみればチューニングのヒントが得られるかもしれません。またスロークエリログを取ると、問題のあるSQL文が見つかるかもしれません。 可能性としてはそのほかにapacheやメモリ、ディスクなどの問題も大いにあり得ます。もしかしたらログをローテートしていないだけかもしれません。 漠然とした質問内容なので漠然としか答えられませんが、とりあえずMuninやCactiといったツールでリソース監視から始めてはいかがでしょうか。Muninはインストールも簡単ですし、MySQLの状態もある程度表示してくれます。 なおMySQLもPostgreSQLも10万レコード程度でネを上げるようなものではありません。必ずどこかに問題点があるはずです。 (個人的にはこういう状態を解決することのほうが、開発することよりも面白いと感じたりします)

rinego
質問者

お礼

さっそくお返事いただき、どうもありがとうございました。 プログラム部の作成運用は制作会社にお願いしておりますので、さっそく担当の方と相談したいと思います。 Webサイトの運営には、サーバーについての基礎知識が必要ですね…。 ありがとうございました。

関連するQ&A