WordPressオブジェクトキャッシング:ウェブサイトのパフォーマンスを簡単に改善
公開: 2022-06-09読み込みの遅いWebサイトは誰にも好まれません。 サイトの読み込みに2秒以上かかる場合、ユーザーはすぐにサイトを離れます。
グーグルによると、あなたのウェブサイトは2秒以内に読み込まれるはずです。 もはや、訪問者は興味を失い始めます。
サイトのパフォーマンスを向上させる場合、WordPressオブジェクトのキャッシュが最も役立ちます。 サイトでオブジェクトキャッシングを適切に構成すると、訪問者に対してサイトの応答性を高めることができます。
オブジェクトキャッシングにはデータベースクエリの保存が含まれ、WordPressサイトで有効にすると、PHPの実行時間を短縮し、データベースの負荷を軽減し、訪問者にコンテンツをより速く配信するのに役立ちます。
あなたが新しいWordPressユーザーであり、WordPressオブジェクトのキャッシュについてあまり知らない場合は、心配する必要はありません。 今日、このブログでは、オブジェクトのキャッシュに関するすべてについて説明します。 それで、それについてもっと知るために読み続けてください。
WordPressでのキャッシングはどのように機能しますか
WordPressオブジェクトのキャッシュに飛び込む前に、WordPressでキャッシュがどのように機能するかを簡単に見てみましょう。
訪問者があなたのウェブサイトに来るとき、基本的にこれは起こります:
- 世界中のどこからでもユーザーがあなたのウェブサイトにアクセスし、彼らのブラウザがあなたのウェブサーバーに連絡します。
- WordPressのインストールは、インストールされているデータベースに接続して、投稿やその他の保存されたデータを取得します。
- 次に、WebサーバーはこのデータをHTMLページにコンパイルし、ユーザーに返します。
- サイトでキャッシュを有効にしている場合、サーバーはこのリクエストのコピーをキャッシュに作成します。
- 同様のリクエストが再度行われると、データベースではなくキャッシュから提供されます。
つまり、WordPressキャッシュはサイトの静的ページを保存して、訪問者が特定のページや投稿を要求するたびに動的コンテンツを生成することなく、訪問者に表示します。
これにより、特にサイトで一度に大量のトラフィックを処理している場合に、サイトのパフォーマンスを大幅に向上させることができます。
WordPressオブジェクトキャッシングとは何ですか
キャッシングには、主に2つのタイプがあります。クライアント側のキャッシングとサーバー側のキャッシングです。
クライアント側のキャッシュには多くの種類がありますが、おそらく最もよく知っているのはブラウザのキャッシュです。 これは、ブラウザが静的なWebページのコンテンツを保存する場所であるため、次に誰かがサイトにアクセスしたときに、ページは再度ダウンロードされるのではなく、コンピュータのキャッシュから取得されます。
オブジェクトキャッシングは、サーバー側のキャッシングの一種です。 これは、キャッシュがユーザーのブラウザではなくサーバーに保存されることを意味します。
オブジェクトキャッシュを有効にすると、サーバーはキャッシュで行われたすべてのリクエストの複製を作成します。 次に同様のリクエストが行われると、データベースにクエリを実行する代わりに、最初にキャッシュがチェックされ、そこからリクエストが処理されます。
コピーが存在しない場合は、データベースに対して処理およびコンパイルの要求が行われます。 処理されると、ブラウザに送り返され、将来使用するためにコピーがキャッシュに作成されます。
したがって、オブジェクトキャッシュは、サーバーがデータベースにクエリを実行する回数を最小限に抑えます。 この設定により、特にトラフィックのピーク時にサーバーの負荷を軽減できます。
WordPressの「WP_Object_Cache」の説明
WordPressには組み込みのオブジェクトキャッシュがあり、それがWP_Object_Cacheです。 これは、データベースのデータをPHPメモリに自動的に保存できるWordPressクラスです。 このようにして、データベースへの繰り返しの不要なクエリを防ぐことができます。
デフォルトでは、WordPressオブジェクトキャッシュは永続的ではありません。つまり、1ページの読み込みでのみデータを保存します。 リクエストが終了すると、キャッシュ内のオブジェクトは破棄されます。
このため、永続キャッシュツールの使用を検討することをお勧めします。 このツールを使用すると、オブジェクトは複数のページの読み込みにわたってキャッシュされ、パフォーマンスがさらに向上します。
RedisやMemcachedなどの外部永続オブジェクトキャッシングソリューションを使用すると、リクエスト間でオブジェクトキャッシュを永続化できます。 これにより、サーバーのワークロードをさらに軽減しながら、データベースクエリの配信を高速化できます。
WordPress用の3つの最高の永続オブジェクトキャッシングツール
現在利用可能な人気のあるWordPressオブジェクトキャッシュツールがいくつかあります。 その中で、Redis、Memcached、およびAPCは主にツールを使用しています。 それでは、1つずつ確認していきましょう。
1.Redis
Redisは、WordPressサイト向けのオープンソースのオブジェクトキャッシングソリューションであり、MySQLデータベースの負荷を軽減するのに役立ちます。 サイトを拡大したり、トラフィックを増やしたりする場合は、サイトに役立つツールになる可能性があります。
Redisは、ディスクやSSDではなくメモリにデータを保存します。 これにより、高性能を実現します。 組み込みのレプリケーションを提供します。 待ち時間を最小限に抑えるために、データをユーザーの場所の近くに配置できます。
Redisは、文字列、ハッシュ、リスト、セットなどの多くのデータ構造を処理します。 組み込みのレプリケーション、スクリプト、ディスク上の永続性など、多くの強力な機能が付属しています。 RedisSentinelとRedisClusterは、それぞれ高可用性と自動パーティショニングを含む追加機能を提供します。
サーバーにRedisをインストールしたら、RedisObjectCacheなどのRedis互換プラグインを使用してサーバーをサイトに接続できます。
2. Memcached
Redisと同様に、Memcachedもオープンソースの分散メモリキャッシングシステムです。 データベース、API呼び出し、およびページレンダリングをキャッシュするために使用されます。 データベースの負荷を軽減することにより、アプリケーションの速度を向上させるのに役立ちます。
Memcachedは、各アイテムにキー、有効期限、生データを割り当てます。 ユーザーがコンテンツまたはデータをリクエストすると、Memcachedは最初にキャッシュを調べて、そこに保存されているかどうかを確認します。 そうである場合は、そこからデータを取得し、データベースをチェックする必要はありません。
データがキャッシュにない場合、Memcachedは呼び出し元のアプリケーションに失敗コードを返します。 次に、アプリケーションは他の場所からデータを取得し、オプションで、新しいデータをMemcachedに再送信する責任があります。 get_option、get_postmetaなどのWordPress関数は、キャッシュされたデータを使用します。
サイトで使用するMemcached互換のプラグインが多数用意されています。 その中で、W3TotalCacheは非常に人気のあるプラグインです。
3.APC
APCまたはAlternativePHPCacheは、PHP用の無料のオープンソースキャッシングプラグインです。 APCキャッシングを使用すると、動的なPHP実行を削減することで、PHPスクリプトの実行をより効率的に実行できます。
APCは、PHPキャッシングのみに焦点を当てているため、RedisやMemcachedとは異なります。 動的なPHPの実行を減らすことにより、スクリプトの実行が効率的に実行されます。 ブラウザがページリクエストを行うと、サーバーはPHPスクリプトのコードを解析し、結果のHTMLコードを生成して、ユーザーのブラウザにページとして表示します。
APCはPHPにロードできるPECLモジュールですが、サーバーレベルで動作するため、共有ホスティングサーバーでは実行できません。 VPSまたは専用サーバーを使用していて、PECLモジュールのインストールに慣れている場合は、先に進んでAPCをサイトにインストールできます。
WordPressサイトで永続オブジェクトのキャッシュを有効にする方法
次に、Homebrewを使用してmacOSにRedisをインストールする方法を説明します。 Homebrewは、 MacOSにRedisをインストールする最も簡単な方法です。 このチュートリアルに従って、LinuxおよびWindowsにRedisをインストールできます。
1.前提条件
まず、Homebrewがインストールされていることを確認します。 ターミナルから、次のコマンドを実行します。
$ brew --version
このコマンドが失敗した場合は、Homebrewのインストール手順に従う必要があります。
2.インストール
ターミナルから、次のコマンドを実行します。
brew install redis
これにより、システムにRedisがインストールされます。
3.フォアグラウンドでのRedisの開始と停止
Redisのインストールをテストするには、コマンドラインからredis-server
実行可能ファイルを実行できます。
redis-server
成功すると、Redisの起動ログが表示され、Redisがフォアグラウンドで実行されます。
Redisを停止するには、 Ctrl-C
を入力します。
4.Launchedを使用したRedisの開始と停止
フォアグラウンドでRedisを実行する代わりに、 launchd
を使用してバックグラウンドでプロセスを開始することもできます。
brew services start redis
これにより、Redisが起動し、ログイン時に再起動します。 次のコマンドを実行して、 launchd
されたマネージドRedisのステータスを確認できます。
brew services info redis
サービスが実行されている場合は、次のような出力が表示されます。
redis ( homebrew.mxcl.redis ) Running: Loaded: User: miranda PID:
サービスを停止するには、次のコマンドを実行します。
brew services stop redis
5.Redisへの接続
Redisが実行されたら、 redis-cli
を実行してテストできます。
redis-cli
これにより、RedisREPLが開きます。 いくつかのコマンドを実行してみてください。
127.0.0.1:6379> lpush demos redis-macOS-demo OK 127.0.0.1:6379> rpop demos "redis-macOS-demo"
6.Redisオブジェクトキャッシングプラグインのインストールとアクティブ化
Redisに接続したら、RedisObjectCacheプラグインをサイトに追加できます。
プラグインをインストールしてアクティブ化した後、ダッシュボードで[設定] >[ Redis ]に移動します。 次に、[オブジェクトキャッシュを有効にする]ボタンをクリックして、サイトでオブジェクトキャッシュを有効にします。
それでおしまい! これで、サイトでWordPressオブジェクトのキャッシュが正常に有効になりました。
ボーナス:DokanマルチベンダーはWordPressオブジェクトキャッシングと互換性がありますか
これは、Dokanユーザーが定期的に尋ねる質問の1つです-DokanはWordPress Object Cachingと互換性がありますか?
はい! DokanはWordPressオブジェクトキャッシングと互換性があります。 Dokanの最新バージョンであるDokan3.5.0以降のバージョンを使用している場合は、オブジェクトのキャッシュを有効にして、サイトでDokanをシームレスに使用できます。
そのため、サーバーにRedisやMemcachedなどのWordPressオブジェクトキャッシュソリューションをインストールし、W3TotalCacheやRedisObjectCacheなどの互換性のあるプラグインを使用してサイトに接続します。 次に、オンラインマーケットプレイスにDokanマルチベンダープラグインを使用して、WordPressオブジェクトキャッシングのメリットを最大限に活用します。
Dokanマルチベンダープラグインの以前のバージョン(Dokan 3.5より前)は、オブジェクトキャッシュをサポートしていませんでした。 しかし、Dokan 3.5バージョンをリリースした後、WordPressオブジェクトキャッシングと完全に互換性があります。
WordPressオブジェクトキャッシング– FAQ
キャッシングとは、コンテンツの静的バージョンを作成し、それを訪問者に提供するプロセスを指します。 静的ページは通常、ブラウザですばやくレンダリングされます。 これにより、Webサイトのパフォーマンスが向上します。
トランジェントは1秒または1日続く可能性がありますが、実際には、トランジェントが存在する時間によって異なります。 ただし、有効期限が切れるとはなくなります。 つまり、有効期限を設定でき、有効期限まで続きます。
データベースの負荷を軽減することにより、サイトのパフォーマンスを向上させます。 サイトでキャッシュソリューションを有効にすることで、Webサイトの静的バージョンをキャッシュに保存できるようになります。 これにより、WordPressは、サイトが読み込まれるたびに、より重いPHPスクリプトの実行をスキップできます。
WordPressは期限切れのトランジェントを自動的に削除しません。 数か月から数年にわたって、データベースのwp_optionsテーブル内に存在するこれらの期限切れであるが削除されていないトランジェントは、処理速度を低下させ、サイトのパフォーマンスを低下させる可能性があります。 このため、WordPressサイトのパフォーマンスを向上させるには、期限切れのトランジェントを削除する必要があります。
はい、WordPressにはWP_Object_Cacheと呼ばれる組み込みのオブジェクトキャッシュがあります。 2005年に導入され、データベースのデータをPHPメモリに自動的に保存して、クエリの繰り返しを防ぐ方法を提供します。
あなたに
WordPressサイトのパフォーマンスを向上させたい場合は、WordPressオブジェクトのキャッシュが非常に重要です。 サイトが読み込まれるたびに重いPHPスクリプトを実行しないことで、サーバーの負荷を減らすことができます。 代わりに、キャッシュから訪問者に要求されたファイルの静的バージョンが表示されます。
チュートリアルに従って、サイトでオブジェクトキャッシュを設定および構成できます。 また、DokanはWordPressオブジェクトキャッシングと完全に互換性があるため、オンラインマーケットプレイスでオブジェクトキャッシングを有効にして、Dokanをスムーズに使用できます。
以上が、オブジェクトキャッシングに関する私たちの終わりからです。 今ではあなたの番です。 サイトでオブジェクトのキャッシュを有効にし、サイトでキャッシュを構成しているときに問題が発生した場合は、下のコメントボックスからお知らせください。 できるだけ早く問題に対処したいと思います。