[WP Plugin] WP Super Cache でページの表示速度を改善する
サーバ移転後、キャッシュサーバがなくなったので WP Super Cache を投入。
以下、さくらレンタルサーバー スタンダード。
Contents
インストール
管理画面からインストール。
設定
「管理画面 > 詳細」タブから、下記を設定。
キャッシング
- ヒットしたページをキャッシュし、素早くアクセスさせる。 (推奨)
- レガシーなページキャッシング。【mod_rewrite の利用は保留】
その他
- ページを圧縮し、訪問者により速くページを供給する。 (推奨)
- 既知のユーザー向けにはページをキャッシュしない。 (推奨)
- キャッシュリビルド。新しいファイルの生成中にこのサイトの登録ユーザー以外のユーザーに supercache のファイルを供給する。 (推奨)
詳細
- Clear all cache files when a post or page is published or updated.
- 追加のホームページチェック。(非常にまれにホームページのキャッシングを止めることがあります) (推奨)
有効時間とガーベージコレクション
- Cache Timeout: 3600秒
- Scheduler: HH:MM (UTC)【お好みの時間】
テスト
「管理画面 > 簡易」タブから、キャッシュテスターでテスト。
以下の表示で完了。
両方のページのタイムスタンプがマッチしました !
キャッシュテスターのエラーについて
なお「キャッシュファイルの提供に PHP を利用する。 (推奨)」と設定時に以下のエラーが表示された。
ページがマッチしません ! タイムスタンプが違うか見つかりません !
エラーメッセージを読むと、WordPress の管理画面にログインしていない別ブラウザでトップページを表示し、HTML ソース最後尾のタイムスタンプを確認。
リロードしてもタイムスタンプが同じであれば、キャッシュが効いているとのこと。
<!-- Cached page generated by WP-Super-Cache on 2016-05-19 20:15:01 -->
インストール時のディフォルトである「レガシーなページキャッシング。」に変更すると、タイムスタンプが同じであることが確認でき、キャッシュテスターもパスできた。
結果
Apache Bench
いちおう ab
で WP Super Cache 導入前後を確認。
手元の Mac からでサンプル数も少ないので参考程度だが、速くなってますね。
Before
% ab -c 2 -n 10 https://www.d-wood.com/blog/2013/12/27_5159.html
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.d-wood.com (be patient).....done
Server Software: Apache/2.2.31
Server Hostname: www.d-wood.com
Server Port: 80
Document Path: /blog/2013/12/27_5159.html
Document Length: 33827 bytes
Concurrency Level: 2
Time taken for tests: 11.453 seconds
Complete requests: 10
Failed requests: 0
Total transferred: 342240 bytes
HTML transferred: 338270 bytes
Requests per second: 0.87 [#/sec] (mean)
Time per request: 2290.680 [ms] (mean)
Time per request: 1145.340 [ms] (mean, across all concurrent requests)
Transfer rate: 29.18 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 70 79 8.0 77 96
Processing: 1656 2182 223.7 2266 2404
Waiting: 1129 1416 219.4 1506 1749
Total: 1752 2261 219.2 2355 2478
Percentage of the requests served within a certain time (ms)
50% 2355
66% 2367
75% 2413
80% 2470
90% 2478
95% 2478
98% 2478
99% 2478
100% 2478 (longest request)
After
% ab -c 2 -n 100 https://www.d-wood.com/blog/2013/12/27_5159.html
This is ApacheBench, Version 2.3 <$Revision: 1706008 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.d-wood.com (be patient).....done
Server Software: Apache/2.2.31
Server Hostname: www.d-wood.com
Server Port: 80
Document Path: /blog/2013/12/27_5159.html
Document Length: 33950 bytes
Concurrency Level: 2
Time taken for tests: 34.571 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 3428200 bytes
HTML transferred: 3395000 bytes
Requests per second: 2.89 [#/sec] (mean)
Time per request: 691.417 [ms] (mean)
Time per request: 345.708 [ms] (mean, across all concurrent requests)
Transfer rate: 96.84 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 63 72 3.3 73 81
Processing: 521 618 162.4 558 1440
Waiting: 156 183 35.7 176 400
Total: 590 690 162.8 628 1513
Percentage of the requests served within a certain time (ms)
50% 628
66% 654
75% 699
80% 729
90% 848
95% 1083
98% 1351
99% 1513
100% 1513 (longest request)
前回との比較
他にもいくつか手を入れたので単純に比較はできないけれども、現状を確認してみた。
WP Super Cache のオプションを「既知のユーザー向けにはページをキャッシュしない。」に一時的に変更後の結果。
After: PageSpeed Insights スコア
- モバイル … 71 -> 76/100
- PC … 78 -> 82/100
After: Response Headers
- DOMContentLoaded: 4.22s -> 3.20s
- Load: 9.4s -> 12.59ss
- Transferred: 2.2MB -> 2.4MB
Load の数値が悪くなった気もするけれども、バナーがあるんでしょうがないかな。
追記: 2017/08/17
サイトの HTTPS 化後に再度設定と測定。
WordPress v4.8.1
WP Super Cache v1.5.3
設定
設定>詳細
から設定。
- キャッシング – キャッシュを有効化
- キャッシュ配信方法 – シンプル (推奨)
Before
% ab -c 2 -n 100 https://www.d-wood.com/blog/2013/12/27_5159.html
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.d-wood.com (be patient).....done
Server Software: Apache/2.2.34
Server Hostname: www.d-wood.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name: www.d-wood.com
Document Path: /blog/2013/12/27_5159.html
Document Length: 40099 bytes
Concurrency Level: 2
Time taken for tests: 110.790 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 4054400 bytes
HTML transferred: 4009900 bytes
Requests per second: 0.90 [#/sec] (mean)
Time per request: 2215.807 [ms] (mean)
Time per request: 1107.904 [ms] (mean, across all concurrent requests)
Transfer rate: 35.74 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 66 77 8.8 77 139
Processing: 1243 2137 840.1 1900 5029
Waiting: 1105 2003 824.3 1744 4888
Total: 1317 2214 842.4 1973 5102
Percentage of the requests served within a certain time (ms)
50% 1973
66% 2170
75% 2630
80% 2853
90% 3471
95% 4286
98% 4900
99% 5102
100% 5102 (longest request)
After
% ab -c 2 -n 100 https://www.d-wood.com/blog/2013/12/27_5159.html
This is ApacheBench, Version 2.3 <$Revision: 1757674 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/
Benchmarking www.d-wood.com (be patient).....done
Server Software: Apache/2.2.34
Server Hostname: www.d-wood.com
Server Port: 443
SSL/TLS Protocol: TLSv1.2,ECDHE-RSA-AES256-GCM-SHA384,2048,256
TLS Server Name: www.d-wood.com
Document Path: /blog/2013/12/27_5159.html
Document Length: 40271 bytes
Concurrency Level: 2
Time taken for tests: 18.806 seconds
Complete requests: 100
Failed requests: 0
Total transferred: 4048200 bytes
HTML transferred: 4027100 bytes
Requests per second: 5.32 [#/sec] (mean)
Time per request: 376.125 [ms] (mean)
Time per request: 188.062 [ms] (mean, across all concurrent requests)
Transfer rate: 210.21 [Kbytes/sec] received
Connection Times (ms)
min mean[+/-sd] median max
Connect: 67 81 12.5 78 148
Processing: 256 295 28.3 289 414
Waiting: 118 154 27.8 147 264
Total: 328 376 31.8 368 483
Percentage of the requests served within a certain time (ms)
50% 368
66% 376
75% 389
80% 399
90% 427
95% 442
98% 483
99% 483
100% 483 (longest request)
キャッシュが効くと「PageSpeed Insights スコア」がこれくらい向上するよう。
- モバイル … 65 -> 82/100
- PC … 75 -> 90/100