Ubuntu + Nginx + WordPress を Memcached で高速化する

永続オブジェクトキャッシュを使用して下さいと表示される

サーバーをUbuntuに変更してからMemcachedの設定を行っていなかったので、Wordpressのヘルスチェックで下記のように、「永続オブジェクトキャッシュを使用して下さい」と表示されます。これはMemcached, APCu等のオブジェクトキャッシュサービスを導入していないので表示されます。

この記事では、オブジェクトキャッシュサービスを有効にするために、Memcached の導入手順、WordPress プラグインの選定、導入後の効果をまとめます。

Ubuntuで利用しているWordpressは、以下の環境で利用しています

【使用環境】

  • OS:Ubuntu
  • Web サーバー:Nginx
  • PHP:php-fpm
  • サーバー:メモリ 2GB

Memcached の導入

Memcached の導入

Memcached と関連ツールをaptコマンドでインストールします。

# Memcached関連のツールをインストールします
$ sudo apt update
$ sudo apt install -y memcached libmemcached-tools

# memcachedを自動起動するように設定します
$ sudo systemctl enable --now memcached

memcachedが動作しているか確認します

$ ss -tunlp | grep 11211
tcp   LISTEN 0      1024               127.0.0.1:11211      0.0.0.0:*          
tcp   LISTEN 0      1024                   [::1]:11211         [::]:*  

PHP から使えるように、拡張モジュールも導入します。

# php-memcached をインストール
$ sudo apt install -y php-memcached

# php-fpmを再起動します。
sudo systemctl restart php8.3-fpm   # 使用バージョンに合わせて変更

WordPress プラグインの選定

WordPress で Memcached を使うには、プラグインが必要です。

以前よく使われていた
Memcached Object Cache プラグインは「更新が止まっている」ため、今回は W3 Total Cache などのメンテされているプラグインがおすすめです。

W3 Total Cache(W3TC)について

  • Memcached に完全対応
  • 更新頻度も高く、安定している
  • オブジェクトキャッシュが有効になると、WordPress の「サイトヘルス」で “永続オブジェクトキャッシュを使用中” と表示される

W3 Total Cache(W3TC)の設定方法

1.プラグインの追加で「W3 Total Cache」を検索してインストールします

2.左メニューから「パフォーマンス」を選択し、「一般設定」の箇所にある「一般設定」を選択します

3.ページキャッシュ内で、ページキャッシュが「有効化」にチェックが入っている事を確認します

4.ページキャッシュ方式の箇所は、「Memcached」を選択します

5.「設定を保存」を選択して保存します

Memcached の動作確認

WordPressのヘルスチェックでオブジェクトキャッシュの警告が消えていれば問題ありません。

また、Memcachedのメモリ等の情報は以下で確認できます

$ echo stats | nc 127.0.0.1 11211 | grep bytes

STAT limit_maxbytes 67108864   ← 64MB 割り当て
STAT response_obj_bytes 65536  ← 実際の利用は 64KB 程度

実際の利用しているのは64KBと小さいので、デフォルトの64MBのメモリでも利用可能です

導入後の効果

・ WordPress のサイトヘルス

「永続オブジェクトキャッシュを使用中」と表示され、警告が消えました。

PageSpeed Insightsについて

パフォーマンススコアが 70 → 80 に改善 しました。画像・JS などは変更していないため、Memcached 効果がしっかり出ています。

\ 最新情報をチェック /