結論から言えば、Nginxを使うならWP-SuperCache的プラグインは不要、適切なテーマならPageSpeedも不要じゃん、ということになりました。
ポイントはこれだ。
- PHPのデフォルト設定はリソースを食い潰す
- eAcceleratorを入れるだけで2倍は速くなる
- Nginxはリバースプロクシでキャッシュを効かす
- WordPressのキャッシュ関連プラグインは不要
- テーマ選択は速度に大きな影響がある
これだけ押さえておけば、さくらのVPS(1GBプラン)で、下記程度のパフォーマンスが出せることが判明。 これキャッシュ系プラグインとか、何も入れてない数字。 タイミングによっては9,000台を叩き出している。 そんなアクセス無いんだけどさ(笑
$ ab -n 10000 -c 100 /
~ばっさり略~
Requests per second: 8251.07 [#/sec] (mean)
~ばっさり略~
この設定でGTmetrixでチェックするとこうなる。
PageSpeedをONにするとabコマンドの結果は大きく2桁も下がって、外部の評価サイト、GTmetrix等の数値はほんの少しだけ改善する。
$ ab -n 1000 -c 100 /
~ばっさり略~
Requests per second: 92.42 [#/sec] (mean)
~ばっさり略~
で、GTmetrixはこんな感じで微増。
これじゃONにする意味が無い。
バックエンドでONにすると3,000位になるけど、使えないフィルタが多くて効果が限定的だった。
色々迷走したけど、PageSpeedをONにしなくても設定を見直すことでほぼ同等の結果を出すことができたし、諸々のconfファイルも結果として最も短いものになったしで、これで万事オッケイ。
ちなみに、abコマンドの結果を全部載せるとこんな感じ。 ネットワークの負荷は考えていないローカルでの値だけど、同時アクセス100で1万リクエストを約1秒で処理しているので、素人にしては中々良い仕上がりじゃないでしょうか。 これが同時アクセス1,000でもあまり変わらない。
[xxx@xx ~]$ ab -n 10000 -c 100 / This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, //www.zeustech.net/ Licensed to The Apache Software Foundation, //www.apache.org/ Benchmarking nakayan.jp (be patient) Completed 1000 requests Completed 2000 requests Completed 3000 requests Completed 4000 requests Completed 5000 requests Completed 6000 requests Completed 7000 requests Completed 8000 requests Completed 9000 requests Completed 10000 requests Finished 10000 requests Server Software:??????? nginx Server Hostname:??????? nakayan.jp Server Port:??????????? 80 Document Path:????????? / Document Length:??????? 52095 bytes Concurrency Level:????? 100 Time taken for tests:?? 1.091 seconds Complete requests:????? 10000 Failed requests:??????? 0 Write errors:?????????? 0 Total transferred:????? 522480000 bytes HTML transferred:?????? 520950000 bytes Requests per second:??? 9166.68 [#/sec] (mean) Time per request:?????? 10.909 [ms] (mean) Time per request:?????? 0.109 [ms] (mean, across all concurrent requests) Transfer rate:????????? 467715.31 [Kbytes/sec] received Connection Times (ms) min? mean[+/-sd] median?? max Connect:??????? 0??? 0?? 1.3????? 0????? 10 Processing:???? 3?? 10?? 2.2???? 10????? 23 Waiting:??????? 0?? 10?? 2.3???? 10????? 23 Total:????????? 5?? 11?? 2.1???? 10????? 23 Percentage of the requests served within a certain time (ms) 50%???? 10 66%???? 11 75%???? 11 80%???? 11 90%???? 12 95%???? 15 98%???? 20 99%???? 21 100%???? 23 (longest request)
やったことは、下記の記事に具体的な設定等を書いてありますので、ご参考まで。
なんだかんだで、当初比で1万5千倍という驚愕の改善、と言うか最初がいかにデタラメな設定だったのか、素人がVPSに手を出すことの大変さ、を実感する出来事だった。
参考サイトの皆様、有用な情報ありがとうございました!
この価格で、これだけ遊べるサービスを提供してくれた、さくらインターネットにも感謝!
コメント