最適化 – キャッシュ

この記事は WordPress の最適化に関するシリーズの一部です。

WordPress のキャッシュは、パフォーマンスを向上させる最速の方法です。 もし今まさにサイトにアクセスが集中している場合、W3 Total CacheWP Super Cache、または Cache Enabler をインストールしてください。

キャッシュプラグイン

W3 Total CacheWP Super Cache、および Cache Enabler のようなプラグインは簡単にインストールでき、WordPress の投稿とページを静的ファイルとしてキャッシュします。これらの静的ファイルはユーザーに提供され、サーバーの処理負荷を軽減します。これにより、比較的静的なページに対してパフォーマンスを数百倍向上することができます。

Varnish などのシステムレベルのページキャッシュと組み合わせると、これは非常に強力な組み合わせとなります。

投稿やページに多くの動的コンテンツが含まれている場合、キャッシュの設定はより複雑になる可能性があります。詳細情報については、「WordPress キャッシュプラグイン」を検索してみてください。

ブラウザのキャッシュ

ブラウザのキャッシュは、ページごとのリクエスト数を減らすことで、サーバーの負荷を軽減するのに役立ちます。たとえば、変更されないファイル (画像、CSS、JavaScript などの静的ファイル) に正しい HTTP ヘッダーを設定することにより、ブラウザーはこれらのファイルを訪問者のコンピューターにキャッシュします。このテクニックにより、ブラウザは単にファイルを要求するのではなく、ファイルが変更されたかどうかを確認することができます。その結果、Web サーバーはファイルを送信する必要がある200レスポンスの代わりに、ファイルが変更されていないことを確認する、より多くの304レスポンスに答えることができます。

HTTP の Cache-Control (特に max-age) とExpires ヘッダー、そして Entity タグを調べてみてください。

オブジェクトのキャッシュ

WordPress のオブジェクトキャッシュは、高価で遅いデータの取得元から、安価で高速な取得元へデータを移動するプロセスです。オブジェクトキャッシュは通常永続的であり、1つのリクエストでキャッシュされたデータはその後のリクエストでも利用できます。

データへのアクセスがはるかに容易になることに加えて、キャッシュされたデータは常に置き換え可能かつ再生成可能である必要があります。アプリケーションでデータベースの破損が発生した場合 (MySQL、Postgres、Couchbase など)、このデータベースには重大な影響が及ぶはずです (適切なバックアップ計画が用意されていることを祈ります)。アプリケーションのメインデータストアとは対照的に、キャッシュが破損した場合、キャッシュされたデータは自動的に再生成されるため、アプリケーションは引き続き機能します。データが失われることはありませんが、キャッシュの再生成時にパフォーマンスの問題が発生する可能性があります。

オブジェクトキャッシュのストレージエンジンはさまざまな技術を使用できます。よく使われるオブジェクトキャッシュエンジンには、Redis、Memcached、APC、およびファイルシステムがあります。使用するキャッシュエンジンはアプリケーションのニーズによって決定されるべきです。それぞれに長所と短所があります。最低限、使用するエンジンはデータへのアクセスを再生成よりも高速にする必要があります。

サーバーのキャッシュ

Web サーバーのキャッシュ はより複雑ですが非常にトラフィックの多いサイトで使われます。この記事で扱う範囲を超える、 幅広いオプションが利用可能です。最も単純な解決策は、サーバーがローカルにキャッシュすることから始まりますが、より複雑で絡みあったシステムでは、WordPress アプリケーションが実際に動作している Web サーバーの「前」にある複数のキャッシュサーバー (リバースプロキシサーバーとしても知られています) を使用することがあります。

Opcache や IIS の WinCache のような opcode キャッシュをサーバーに追加すると、PHP のパフォーマンスが何倍にも向上します。

Varnish キャッシュは、W3TC のような WordPress キャッシュプラグインと併用すると非常に強力です。

さらに詳しく

原文

この記事は役に立ちましたか ? どうすればさらに改善できますか ?