2011-08-05 11 views
0

私のサイトは正常に動作していますが、データベースを変更しようとするたびに非常に遅く動き、時にはフリーズします。これはあまりにも多くのクエリが実行されている負荷が高すぎるため、私はすでにクエリの数を減らしていますが、私のウェブサイトのトラフィックは増加し続け、mysqlが遅く実行され続けます。私の管理者は既にmysqlを最適化しているので、データベースのパフォーマンスを向上させ、クエリを少なく実行することなく負荷を減らす代替の方法を探しています。クエリが実行されたときにmysqlで使用されるリソースの量を減らすいくつかの方法はありますか?

+0

をプロファイリングし、改善するための照会を識別するのに便利MySQLのスロークエリログは、すべてのユーザーにデータベースが、共通から構築されたこれらのウェブページの一部です私を見つけましたか?その場合は、キャッシュに入れてください。代わりにX分ごとに1回だけクエリを実行できるときは、すべてのページビューでクエリを実行する必要はありません。 –

答えて

0

以外のサーバハードウェアをアップグレードするか、新しいサーバをインストールするから、私も大変お薦めなどthe built in MySQL oneJet Profilerとしてクエリプロファイラになります。これにより、クエリのボトルネックを特定するのに役立ちます。

また、ボトルネックが発生した場合は、クエリを少なく実行したり、テーブルインデックスを有効に活用するために、コードをリファクタリングする必要があります。

しかし、あなたの予算が許せば、@ Marcの答えは間違いなく推奨されます。

0

DB自体が限りそれが行くことができるように微調整されている場合は、あなたが他の二つのオプションを持っている:

  1. アップグレードハードウェア(高速なディスク、高速なCPU、より多くのRAM)
  2. がクラスタをセットアップします負荷が複数のマシンに分割されるようにします。
+0

私はそれを恐れていた、okありがとうmarc – user761479

関連する問題