最近、標準のMySQLからPercona
に移動し、 Percona Wizard を使用してmy.cnf
を生成しました。
ただし、デフォルトでは、生成されたmy.cnf
の設定はquery_cache_type = 0
を使用していることがわかります。 (クエリキャッシュは無効です)。
私がサーバーで実行しているのはWordpressブログです。私の質問は次のとおりです。
Wordpressブログの場合、query_cache_type = 1
。クエリキャッシュの主な問題は次のとおりです。
非常に簡単に無効化されます(一部のテーブルを更新すると、そのテーブルに関連するすべてのクエリが無効になります)
着信または発信クエリが通過する必要がある単一のミューテックスを持っています。
クエリキャッシュは、マシンに1つのコア(おそらく2つ)があった時代には問題ありませんでした。複数のコアと高い同時実行性ではうまく機能せず、書き込み集中型のアプリケーションではうまく機能しません。
あなたのWordpressブログは書き込み集中型ではない可能性が高いです:あなたの書き込みは新しい投稿、更新、コメントです...これらのどれだけですか?あなたは分単位でそれらに対抗することすらできません。 ..
それも実際には集中的に読み込まれることはありません。 1日あたり数百回の読み取りそれは何もありません。
プラグインに関しては、それはプラグインと配備に大きく依存します。 WordpressはPHPで記述されており、PHPはファイルシステム、memcached、APCなどのキャッシュメカニズムを使用する可能性があります。通常、特定のつまり、関連するデータへの実際の変更に基づいて、キャッシュされたデータを無効にします-一部のテーブルでの無関係な操作ではありません。プラグインのプログラマーは、どのデータをキャッシュすることが重要かを決定する必要があります。ではなく、無効化の仕組み。
繰り返しになりますが、ブログの規模では、これは大したことではなく、大きな違いはありません(もちろん、いくつかのクレイジーなプラグインが常に存在する可能性があります)。
結論:あなたのニーズのために、何でも行き、それはあまり重要ではありません。
DBタイプによって異なります。 InnoDBを使用する場合、クエリキャッシュは必要ありません。さらに、クエリキャッシュは全体的なパフォーマンスの速度を低下させます。したがって、ワードプレスにMyISAMを使用する場合は、それを使用する必要があります。