WordPressキャッシュ:キャッシュできるものとその方法

公開: 2017-04-28

あなたはあなたのウェブサイトが速く行くことを望みます。 サイトの速度に寄与する1つのテクノロジーは、キャッシングです。 キャッシングは、データを保存して将来の要求にすぐに利用できるようにする一連のソフトウェアおよびハードウェア技術です。 この記事では、WordPressキャッシュとは何か、さまざまなレベルで実装する方法、そして心配する必要がないようにすべてを処理する方法について説明します。

キャッシングとは何ですか?

コンピューティングでは、「キャッシュ」と呼ばれるものがあります。これにより、ソフトウェアまたはハードウェアコンポーネントを使用して、値を一時的に保存し、将来的にそれらをより高速に取得します。 MySQLクエリ、コンパイルされたPHPバイトコードなどの値、およびHTMLや画像などの重複データ。 ほとんどすべて、本当に。

キャッシングの利点

データのコピーを作成し、それらを「キャッシング」コンポーネントに配置することで、パフォーマンスが大幅に向上します。 訪問者は、キャッシュされていないコンテンツよりもはるかに高速にキャッシュされたコンテンツを取得できます。 キャッシュされたコンテンツは、キャッシュされていないコンテンツよりも訪問者がすばやく取得できます。 キャッシングコンポーネントは通常メモリですが、従来のストレージよりも高速なものであれば何でもかまいません。 しかし、どれだけのパフォーマンスの向上を得ることができますか?
それはすべて、キャッシュできるデータの量に依存しますが、一般的に言えば、1秒の大きさでのパフォーマンスの向上は珍しいことではありません。

何をキャッシュできますか?

キャッシュを使用してWebサイトを最適化するためにどこまで進みたいかに応じて、いくつかのレベルがあります。

HTML出力

最初の方法は、HTMLページ自体をキャッシュすることです。 WPRocketやW3TotalCacheのような多くのWordPressキャッシュプラグインがあります。 これらのプラグインは、HTML出力の結果をキャッシュし、将来のリクエストのために時間を節約します。 さらに、すべてのプラグインにはキャッシュ無効化メカニズムが備わっているため、必要なときにキャッシュされていないコンテンツを提供できます。

もう1つの手法は、HTMLを「縮小」すること、つまりHTMLを小さくすることです。 これにより、1ページあたり数キロバイトになりますが、時間の経過とともに合計されます。

そのためには、ダッシュボードにアクセスするか、WordPressにプラグインをインストールする方法が必要になります。

参照:

  • WPロケット
  • W3トータルキャッシュWordPressプラグイン

PHP OpCache

OpCachingは、PHPがソースPHPファイルを取得し、それらをバイトコードと呼ばれる中間形式にコンパイルする手法です。 バイトコードはコンピューターのマシンコードに似ていますが、実際のマシンではなく「仮想マシン」(この場合はPHP)によって実行されるマシンコードを指します。 これはマシンコードであり、メモリ内に存在するため、PHPインタープリターが一度にコマンドを解析して実行するよりもはるかに高速に実行できます。

そのレベルでのキャッシングは、これらのバイトコードデータをメモリに格納するため、アプリケーションをより高速に実行できます。

PHP OpCacheを有効にするには、PHP構成ファイルにアクセスできる必要があります。

参照:OpCache

Pressidiumであなたのウェブサイトをホストする

60日間の返金保証

私たちの計画を見る

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

これは、言語のOOPレベルで行われるキャッシュです。 PHPはオブジェクト指向言語です。つまり、「オブジェクト」の概念を使用して、ロジック、データ、およびアイデアを記述します。 アプリケーションが実行されると、これらのオブジェクトは常に作成および破棄されます(動的に、ガベージコレクターと呼ばれるサブシステムによって)。 これらのオブジェクトの作成と初期化のプロセスには時間がかかります。 したがって、オブジェクトキャッシングは、オブジェクト自体をキャッシングすることでこれを解決します。

これは、MemcachedやRedis用の各種プラグインなどのプラグインを介して実装されます。 Redisは、データベースとして使用できる強力なメモリ内データ構造ストアです。 Memcachedは、分散オブジェクトキャッシングシステムです。 どちらも、そのレベルでキャッシュを実行するための優れた選択肢です。

PHPオブジェクトのキャッシュを有効にするには、PHPの構成にアクセスできる必要があります。 また、RedisまたはMemcachedインスタンスにアクセスする必要があります。

参照

  • RedisWordPressプラグイン
  • MemcachedWordPressプラグイン
  • Redisドキュメント
  • Memcached Wiki

MySQLクエリキャッシング

これは同じ考え方ですが、データベースレベルで適用されます。 データベースは、入力されたクエリに従ってデータのセットを返します。 これらのクエリの結果をキャッシュできる場合は、次に誰かがそのクエリを使用するときに、メモリにキャッシュされて常駐するため、データをはるかに高速に取得できます。

そのためには、データベースサーバーにアクセスする必要があります。

参照:MySQL8.0クエリキャッシュ

これらすべてを適切に設定および保守するには、多くのことが必要です。 技術的な知識、時間、そして経験が不足している場合はお金さえ。 しかし、私たちはそのすべてを支援することができます。

PressidiumのMultilayerCachingですべてを解決する方法。

答えは簡単です。 WordPressのすべてのレイヤーで、あらゆる場所にキャッシュを実装しました。

HTML出力の場合、ホットとウォームの2層のキャッシュを実装します。 これらのレイヤーは、アダプティブキャッシュエンジンの一部です。 当社のエンジンは、サイトのプロファイルを作成し、最も効率的なキャッシュルールを適用することもできます。 ただし、これについては別の記事で詳しく説明します。 したがって、ホットキャッシュはメモリ内に存在し、すばやくアクセスできるデータです。 ウォームキャッシュは、最先端のSSDディスクに存在するデータです。 これにより、全体的なキャッシュヒット率が向上し、サイトのパフォーマンスが従来のストレージよりも大幅に向上します。

エンタープライズクライアント向けに、優れたメモリ内データ構造ストアRedisを使用してオブジェクトキャッシュシステムを構築しました。 最後に、MySQLクエリのキャッシュ。 これはデフォルトで有効になっており、DevOpsによって常に監視されています。 MySQLクエリキャッシングは、Webサイトのパフォーマンスに関する貴重な情報を提供します。

これらはすべて、WordPressキャッシュプラグインではなく、プラットフォームのバックエンドに実装されていることに注意してください。 これは、 a)ストレージに外部サーバーを使用するため、Webサーバーのリソースに負担をかけず、b)ディスクよりもアクセスが速いメモリにデータを保存することを意味します。

キャッシングのニーズと予算が何であれ、私たちは提供することができます。