サーバーには多くのDrupalサイトがインストールされています。一部のサイトには多くのビューとブロックが設定されています。時々、そのようなDrupalサイト(多くのビューとコンテンツを含む)が突然応答しなくなるか、非常に遅くなります。ただし、残りのDrupalコンテンツが少ないサイトは、その間は正常に動作しているようです。MySQLデータベースを再起動する必要があります応答しないDrupalサイトを通常の状態に戻します。cronを使用して定期的なMySQLの再起動をセットアップすることを考えていました。
この定期的な再起動オプションは、私にはあまり魅力的ではありません。この問題の原因を見つけたい。それは主にMySQLが原因であると思いますが、それでも推測です。
サーバーのパフォーマンスの問題は経験していません。この問題に取り組むための最善の方法は何ですか? MySQLの問題であり、他の問題ではないことをどのように確認できますか? MySQLの問題である場合、それを解決するためにどのような基本的な手順を実行する必要がありますか?
次に、DBTunerモジュールとDevelモジュールの推奨事項について説明します。また、可能な限りMysqlを再起動しないことにも同意します。これは、RAMに一連のキャッシュを構築し、再起動する場合は最初からやり直す必要があります。mysqlが少なくともmy-huge.cnf以上を使用していることを確認する必要があります。このスレッドでDrupal.org http://drupal.org/node/85768 は、パフォーマンスを向上させるためのMysqlのチューニングに関する情報があります。Mysqlの設定変更はサーバーを壊すことが多いため、常に開発サーバーでmy.cnfの変更をテストしてください警告や説明なし。
また、PHPに十分な量のRAMがあることを確認してください。PHPでサイトを表示しているだけの場合、遅延により低速のdbサーバーが表示されることがあります。 Webブラウザー。memory_limit= 32M以上(通常は64〜126M)に設定します。ただし、Apacheのパフォーマンスに悪影響を及ぼし始める可能性があるため、高すぎないようにしてください。
ここにはHigh Performanceグループもあります http://groups.drupal.org/high-performance 。ぶらぶらするのに良い場所です。
MySQLを定期的に、特に定期的に再起動する必要がある場合、問題があると思います。
この無反応はどのくらいの頻度で発生しますか?マシンにSSHでアクセスできますか? MySQLプロンプトにアクセスして「show processlist;」を実行できますか? ?
クエリに時間がかかる場合は、ロックされたテーブルの問題だと思います。
dbtuner モジュールが非常に役立つことがわかりました。特定のフィールドにインデックスを付ける簡単な方法を提案して提供します。試してみます。
バージョン7を使用している場合、いくつかのパフォーマンスのヒントは この投稿にあります です。