さくらのVPS+WordPress+PHP+Nginxのまとめ

結論から言えば、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でチェックするとこうなる。

GTmetrix

PageSpeedをONにするとabコマンドの結果は大きく2桁も下がって、外部の評価サイト、GTmetrix等の数値はほんの少しだけ改善する。

$ ab -n 1000 -c 100 /
 ~ばっさり略~
 Requests per second: 92.42 [#/sec] (mean)
 ~ばっさり略~

で、GTmetrixはこんな感じで微増。

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)

やったことは、下記の記事に具体的な設定等を書いてありますので、ご参考まで。

さくらのVPS+WordPress+PHP+Nginxのまとめ2(実設定)

なんだかんだで、当初比で1万5千倍という驚愕の改善、と言うか最初がいかにデタラメな設定だったのか、素人がVPSに手を出すことの大変さ、を実感する出来事だった。

参考サイトの皆様、有用な情報ありがとうございました!

この価格で、これだけ遊べるサービスを提供してくれた、さくらインターネットにも感謝!

 

コメント

タイトルとURLをコピーしました