• 締切済み

PHP4とpostgreSQLについて

始めまして、私はi-mode用のランキングサイトを運営しております。 どなたかご回答いただけますと幸いです。どうぞよろしくお願いいたします。  昨年末、レンタルサーバーへ依頼しプログラムを作成し新たにPHP4より postgreSQLを呼び出す形でサイトをリニューアルしたのですが、サーバーが急に 重くなり正常な運営が困難な状態になっております。 サイトは現在TOPページ3万PV/日ほどでリニューアル前はこの倍はありました。 登録サイト数は380ほどです。 現在のサーバースペックですがCPUはP3の700M、メモリ768MBです。OSはLinux、 wwwサーバーはApacheです。 DBサーバーを別に用意すればよいと助言されたのですが、本当にそれでよいのか、なにかプログラム的に問題があるのではとも思いまして他の方のご意見も参考に したほうがよいと判断してご相談させていただいております。 私にはまだPHPとpostgreSQLの知識が浅くこのような情報でよいのかもわかりませ んがどうぞよろしくご回答くださいませ。 サイトURLは下記に記載いたします。 http://web-iranking.com/rank.php

みんなの回答

  • alfeim
  • ベストアンサー率58% (114/195)
回答No.2

PostgreSQLのテーブルにはvacuumをかけてますか? データベースは更新作業も該当部分を書き換えずに新たなデータを追記して古いデータに無効マークをつけるだけで済ませます そうやって運用していくうちにデータベースのクエリー速度が落ちていくので定期的にごみ掃除が必要になります というわけでvacuumdbを使ってみてください

すると、全ての回答が全文表示されます。
回答No.1

 まずは、原因をログ等から調べてください。  DBサーバーに接続できないほどクライアントが多いなら、「Too many client...」等のエラーが帰ってきてるはずです。他には、システム状態を見て 空きCPU、Memoryが多いようでしたら、Apacheの「MaxClients」「MaxSpareServers」を増やすことにより対応できると思います。  また、PHPではなく、Apacheのモジュールを使うことによりプログラム的な 処理は早くなるはずです。  後トップページではなく、ランキングに使用するページへのアクセスが増えて いるということはありませんか?  その辺のApacheのログ等ももう少し調べてみてはどうでしょう?

すると、全ての回答が全文表示されます。

関連するQ&A