発表以来勢いに乗っているKUSANAGIですが、サーバの中身がブラックボックスになるのはちょっとやだなぁと思っていました。
で、先日のWooCommerce開発者来日イベントでプライム・ストラテジー中村けん牛氏に「リバースエンジニアリングしていいですか」と尋ねたところ「GPLだからOKだよ」とのことで、それならもはやブラックボックスにあらず。サーバを移し替えてみました。およそ4倍速くなりました。

移設前サーバ

  • ConoHa 1GB + DBサーバ(PaaS)(1,400円/月)
  • PHP 7.0.0(nginx + php-fpm)
    • nginx以外ほとんどデフォルト
    • PHP7.0.0はphpenvでコンパイル
  • WordPress 4.3.1 ja
    • 001 Prime Strategy Translate Accelerator
    • Autoptimize

nginxのgzipであるなどのパラメータチューニングはしてありましたが、そのほかはおおよそデフォルトです。PHP7.0.0はphpenvでコンパイルしたものです。デフォルトとはいえ速度向上が売りのPHP7です。
WordPressプラグインには速度向上のものを2つ入れてあります。

移設後サーバ

  • KUSANAGI for ConoHa 2GB(1,750円/月)
  • ほとんどデフォルト(nginx + HHVM 3.11.1)
  • WordPress 4.4.2(KUSANAGIデフォルト)
    • 001 Prime Strategy Translate Accelerator
    • Autoptimize

ネットワーク構成からして違うんですが、KUSANAGIのコンセプトとして「スケールアウトより処理速度を上げなよ」ということのようなので1台に納めました。
WordPress本体もKUSANAGIのものを使用しましたが、テーマはSimplicityを移設しました。プラグインもそのまま持ってきました。

計測方法

ノートPC(無線LAN)でFirefoxから適当にCTRL+F5を何回か試しました。普段使っている環境です。ほとんどアクセスのないblogなので、負荷試験ではありません。「1発の実行がどれぐらいになるか」という計測です。

移設前

サーバの待機時間(ネットワーク通信速度+サーバ実行速度)はおよそ300~400msでした。

移設後

こちらはおよそ80~100msでした。応答の全体で約4分の1です。ネットワーク速度は変わらないので、サーバ速度だけならもっと速いということになります。

差はおよそ220~300ms。ここまで縮むと速度向上が体感でわかります。

PHP実行時間

KUSANAGIを入れた状態でログインすると右上に実行時間が表示されます。

画像は75msです。これはPHP上で計測された値なので、80~100msのほとんどはPHPで使っているということになります。つまり、Simplicityをチューニングしたり使っていないプラグインを削除したりすればもっと速くなる、ということです。

いやあ、KUSANAGIすごいですね。

フロントページ

https://www.conoha.jp/referral/?token=7hrGV2LeKLjSQRNiNWvCgIafE8hXRyg0S5Qe.5_ryP5h4B_yoJ4-LZK