キャッシングプラグイン
W3 Total Cache、WP Super Cache、およびCache Enablerのようなプラグインは簡単にインストールでき、WordPressの投稿やページを静的ファイルとしてキャッシュします。これらの静的ファイルはユーザーに提供され、サーバーの処理負荷を軽減します。これにより、比較的静的なページのパフォーマンスが数百倍向上する可能性があります。
Varnishのようなシステムレベルのページキャッシュと組み合わせると、非常に強力になります。
投稿やページに多くの動的コンテンツがある場合、キャッシングの設定はより複雑になることがあります。詳細については「WordPressキャッシュプラグイン」を検索してください。
ブラウザキャッシング
ブラウザキャッシングは、ページごとのリクエスト数を減らすことによってサーバーの負荷を軽減するのに役立ちます。たとえば、変更されないファイル(画像、CSS、JavaScriptなどの静的ファイル)に正しいファイルヘッダーを設定することで、ブラウザは訪問者のコンピュータにこれらのファイルをキャッシュします。この技術により、ブラウザはファイルが変更されたかどうかを確認でき、単にリクエストするのではなくなります。その結果、ウェブサーバーは多くの304レスポンスを返すことができ、ファイルが変更されていないことを確認し、ファイルを送信する必要がある200レスポンスを減らすことができます。
詳細については、HTTP Cache-Control(特にmax-age)およびExpiresヘッダー、さらにエンティティタグを調べてください。
オブジェクトキャッシング
WordPressにおけるオブジェクトキャッシングは、高価で遅い取得場所から安価で高速な取得場所にデータを移動する行為です。オブジェクトキャッシュは通常、永続的であり、つまり、1回のリクエスト中にキャッシュされたデータは、後続のリクエスト中にも利用可能です。
データアクセスをはるかに容易にするだけでなく、キャッシュされたデータは常に置き換え可能で再生成可能であるべきです。アプリケーションがデータベースの破損(例:MySQL、Postgres、Couchbase)を経験した場合、このデータベースには深刻な結果が生じるべきです(そして、良いバックアッププランがあることを願っています)。アプリケーションの主要なデータストアと対照的に、キャッシュが破損した場合、アプリケーションはキャッシュされたデータが自動的に再生成されるため、機能し続けるべきです。データは失われませんが、キャッシュが再生成される際にいくつかのパフォーマンスの問題が発生する可能性があります。
オブジェクトキャッシュのストレージエンジンには、さまざまな技術が使用できます。人気のあるオブジェクトキャッシングエンジンには、Redis、Memcached、APC、およびファイルシステムがあります。使用するキャッシングエンジンは、アプリケーションのニーズによって決定されるべきです。それぞれに利点と欠点があります。最低限、使用するエンジンはデータを再生成するよりもデータへのアクセスをより効率的にするべきです。
サーバーキャッシング
ウェブサーバーキャッシングはより複雑ですが、非常に高トラフィックのサイトで使用されます。この記事の範囲を超えたさまざまなオプションが利用可能です。最も簡単なソリューションは、サーバーがローカルでキャッシュを行うことから始まり、より複雑で関与するシステムは、WordPressアプリケーションが実際に実行されているウェブサーバーの「前」に複数のキャッシングサーバー(リバースプロキシサーバーとも呼ばれる)を使用することがあります。
OpcacheやIISのWinCacheのようなオペコードキャッシュをサーバーに追加すると、PHPのパフォーマンスが大幅に向上します。
Varnishキャッシュは、W3TCのようなWordPressキャッシングプラグインと組み合わせて使用すると非常に強力です。
さらなる読み物
- WordPressにおけるコアキャッシング概念
- ウェブサイトの速度を向上させるためのベストプラクティス – Expires / Cache-ControlヘッダーおよびETags(Yahoo! Developer Networkによる)
- WebSiteOptimization.com: サーバーキャッシュ制御を使用してパフォーマンスを向上させる
変更履歴
- 2022-09-04: 最適化 – キャッシングからのオリジナルコンテンツ。