永続オブジェクトキャッシュを使用してください
WordPress サイトヘルスの「永続オブジェクトキャッシュを使用してください」というメッセージは、
Nginx や FastCGI キャッシュではなく、データベースクエリ結果のキャッシュ(オブジェクトキャッシュ)に関する警告です。
なぜ警告されるのか
WordPress はデータベースから多くのクエリを実行します。
このクエリ結果をメモリ(Redis や Memcached)に保存して再利用するのが 永続オブジェクトキャッシュ です。
サイトが小規模なら必須ではない
サイトが大きくなると DB 負荷が減り、体感速度も向上する
という性質があります。
対策方法
Redis を導入する
Console から Redis をインストール
Debian + Nginx + WordPress なら Redis が一番簡単です。
apt update
apt install redis-server php-redis -y
次に php.ini を確認して Redis が有効かチェック
redis と出れば OK !
php -m | grep redis
redis
と表示されれば OK
動作確認は、
systemctl status redis-server
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; preset: enabled)
Active: active (running) since Mon 2025-08-18 07:16:21 JST; 55min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 70812 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 37515)
Memory: 4.2M
CPU: 5.646s
CGroup: /system.slice/redis-server.service
└─70812 "/usr/bin/redis-server 127.0.0.1:6379"
Aug 18 07:16:21 web215 systemd[1]: Starting redis-server.service – Advanced key-value store…
Aug 18 07:16:21 web215 systemd[1]: Started redis-server.service – Advanced key-value store.
動作しているようです。
php-fpm restart
systemctl restart php8.2-fpm
WordPress 側でプラグインを導入
Redis Object Cache
有効化して「Enable Object Cache」を押すと、サイトヘルスの警告が消えます。

redis object cache の効果
テストサイトについて
Procmox VE – OS debian – LXC
- CPU 2 CPU(s)
- Memory 2.00 (GiB)
- SWAP 512.00 (MiB)
- Bootdisk size f 1.90 (GiB)
ディスクは M.2 SSD
Fastcgi-cache 無効
redes objevt cache の効果を判定するには、ページキャッシュを無効にしないと判定はできない。
実験したサイトは、nginx だったので、まずは、fastcgi-cache を無効にしてから
redis object cache 導入前後
redis object cache 導入前後のアパッチベンチ(ab)で効果を見る。
redis object cache 導入前
% ab -n 100 -c 100 https://nginx.home/
Document Length: 80300 bytes
Concurrency Level: 100
Time taken for tests: 1.955 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 8053700 bytes
HTML transferred: 8030000 bytes
Requests per second: 51.14 [#/sec] (mean)
Time per request: 1955.323 [ms] (mean)
Time per request: 19.553 [ms] (mean, across all concurrent requests)
Transfer rate: 4022.32 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 39 117 13.3 111 134
Processing: 42 897 505.8 926 1736
Waiting: 40 894 507.9 925 1735
Total: 154 1013 514.9 1035 1870
Percentage of the requests served within a certain time (ms)
50% 1035
66% 1318
75% 1461
80% 1571
90% 1736
95% 1819
98% 1861
99% 1870
100% 1870 (longest request)
redis object cache 導入後
% ab -n 100 -c 100 https://nginx.home/
Document Length: 80459 bytes
Concurrency Level: 100
Time taken for tests: 1.998 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 8069600 bytes
HTML transferred: 8045900 bytes
Requests per second: 50.06 [#/sec] (mean)
Time per request: 1997.542 [ms] (mean)
Time per request: 19.975 [ms] (mean, across all concurrent requests)
Transfer rate: 3945.08 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 40 116 12.4 112 133
Processing: 49 925 519.8 949 1780
Waiting: 37 920 521.4 948 1779
Total: 163 1041 527.7 1057 1911
Percentage of the requests served within a certain time (ms)
50% 1057
66% 1352
75% 1527
80% 1615
90% 1796
95% 1885
98% 1902
99% 1911
100% 1911 (longest request)
Redis Object Cache の効果は、
Fastcgi OFF で計測、アパッチベンチの結果は、
パフォーマンスが少し低下している。
Lighthouse のパフォーマンステストは、全く同じ数値で変化はない。
パフォーマンスチューニング
wp-config.php に設定を追加
// Redis キャッシュ設定
define('WP_CACHE_KEY_SALT', 'example.com:'); // サイト固有のプレフィックス
define('WP_REDIS_CLIENT', 'phpredis'); // Predis より phpredis が高速
Redis の設定調整(/etc/redis/redis.conf)
メモリ制限(例: 256MB)
maxmemory 256mb
maxmemory-policy allkeys-lru
設定を反映
sudo systemctl restart redis-server
結果
Redis Object cache ON
% ab -n 100 -c 100 https://nginx.home/
Document Length: 80459 bytes
Concurrency Level: 100
Time taken for tests: 1.998 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 8069600 bytes
HTML transferred: 8045900 bytes
Requests per second: 50.06 [#/sec] (mean)
Time per request: 1997.542 [ms] (mean)
Time per request: 19.975 [ms] (mean, across all concurrent requests)
Transfer rate: 3945.08 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 40 116 12.4 112 133
Processing: 49 925 519.8 949 1780
Waiting: 37 920 521.4 948 1779
Total: 163 1041 527.7 1057 1911
Percentage of the requests served within a certain time (ms)
50% 1057
66% 1352
75% 1527
80% 1615
90% 1796
95% 1885
98% 1902
99% 1911
100% 1911 (longest request)
パフォーマンスチューニング
% ab -n 100 -c 100 https://nginx.home/
Document Length: 80459 bytes
Concurrency Level: 100
Time taken for tests: 1.973 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 8069600 bytes
HTML transferred: 8045900 bytes
Requests per second: 50.69 [#/sec] (mean)
Time per request: 1972.650 [ms] (mean)
Time per request: 19.727 [ms] (mean, across all concurrent requests)
Transfer rate: 3994.86 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 43 107 15.8 98 128
Processing: 57 902 509.5 927 1759
Waiting: 38 898 511.3 924 1758
Total: 155 1009 522.0 1023 1885
Percentage of the requests served within a certain time (ms)
50% 1023
66% 1309
75% 1457
80% 1578
90% 1724
95% 1842
98% 1862
99% 1885
100% 1885 (longest request)
誤差範囲ではあるが、微妙にパフォーマンスは向上した。
結論
キャッシュは、ボトルネックとなる部分を改善するために行われてきた手法だが、ハードディスクから M.2 SSD になって、データーのアクセス速度が向上したためと、CPUの性能の向上など、ハードウエアが高速になれば、キャッシュの存在は必要なくなるのかもしれない。
redis object cache の効果は、この環境下(ディスクが M.2 SSD)では残念ながら無かった。