KUSANAGIのWordPressの速さをわかりやすく解説してみた

Tech

2016.10.27

Topics

KUSANAGIのWordPressの 速さをわかりやすく解説してみた

橘です。
先日、当社のクラウドVPS/レンタルサーバーサービスであるEX-CLOUDに、WordPressホスティングが誕生しました。
WordPressホスティングは、高速化・最適化されたWordPressを利用できるサービスです。
WordPressホスティングについては最後に少しだけご紹介するとして、WordPressホスティングの要であるKUSANAGIについてご紹介します。

KUSANAGIとは?

KUSANAGIとは、高速化・最適化されたWordPress_サーバー構成をパッケージとして提供している、プライム・ストラテジー社様のサービスです。サーバーを立ち上げた時から ノンカスタマイズ で超高速なWordPressを利用することが出来ます。

KUSANAGIが本当に速いか検証してみた

今回は2つの検証を行いました。
1.体感で速いか
2.大量のアクセスがある場合の速度

まず、検証用に2つのWordPress環境を用意しました。
1つのWordPress環境は、当然KUSANAGIを利用しているWordPressホスティングのレギュラープランです。(以降、「KUSANAGI環境」と呼びます。)
もう1つは、レギュラープランと同スペックの、EX-CLOUDのクラウドVPSシリーズのVPS-3プランです。(以降、「何もしてないよ環境」とします。)
一応、サーバー構成を紹介しますが、ご興味のない方は飛ばしていただいて構いません。
基本的には、「KUSANAGI環境」はKUSANAGIで提供しているソフトウェアで、「何もしてないよ環境」はCentOS7標準のソフトウェアです。

項目 KUSANAGI環境 何もしてないよ環境
OS CentOS7 CentOS7
Webサーバー nginx-1.11.4 apache-2.4.6
DBサーバー mariadb-10.0.27 mariadb-5.5.50
PHP kusanagi-php7-7.0.11 php-5.4.16
PHP実行環境 kusanagi-hhvm-3.15.0 Apacheのphpモジュール

体感で速いかを確認

良く「高速化」と謳っているものの、体感が得られないことってないでしょうか(卑屈な私だけでしょうか)。と思って、シンプルに以下のルールに従ってどれくらい速さが違うかをみてみました。
(正直なところ、結果が出るかとても心配でした。)
ルール:
・「ページを読み込んだタイミング」でページのタイトル部分をクリックするのを10回繰り返す
・「ページを読み込んだタイミング」は「ブラウザの更新ボタンが押せるようになったタイミング」とする
・私の指の反応速度の遅さは、誤差とする
・ルールに対するツッコミはココロの中にしまっておくものとする
実際の検証の様子を動画にしてみました。

検証の結果、
「何もしていないよ環境」
10回表示されたタイミングは、10.333秒でした。
「KUSANAGI環境」
10回表示されたタイミングは、6.904秒でした。
ホッとしました。。。3秒ほど縮まっています。体感が得られるのはとてもうれしいです。

もう少し大量のアクセスではどうか

大量に同時アクセスが大量にきた場合ではどうか調べるため、Apache Benchmarkの比較してみました。項目に関しては主要な部分だけ抜粋します。
今回は、接続数:10000 同時接続数:300 で計測しました。
使用したコマンドは次のとおりです。

ab -n 10000 -c 300 URL

結果は以下のとおりです。

項目 KUSANAGI環境 何もしてないよ環境
完了したリクエスト 10000 10000
完了したリクエストの中で失敗したリクエスト 0 8338
失敗の理由 なし 同じレスポンスが返ってこなかった:8338
1秒間に処理したリクエストの数の平均 1416.96 回 128.40 回
1回の同時アクセスにかかった時間の平均 211.720 秒 2336.445 秒
1回のリクエストにかかった時間の平均 0.706 秒 7.788 秒

速度的に、大体11倍程度速くなっています。。。!しかも、「何もしてないよ環境」はリクエストに対してエラーが大量に出ていますが、「 KUSANAGI」環境では、全く出ませんでした。
大量アクセスにも十分に耐えうることがわかります。

どこらへんが速いのか

KUSANAGIはサーバー構成からWordPress本体(プラグインなど)までチューニングしているため、
速くなる理由としては、「すべてが速くなっているから」といえるかと思います。
ですが、せっかくなので簡単にブラウザで調べてみました。
Google Chromeの標準機能にディベロッパーツールというものがあります。
(サイト上で右クリック->検証 で見れるものです。)
これで、サイトのソースコードや、どのような処理が走っているかなどを調べることが出来ます。
今回はディベロッパーツールのTimeLineを使って、どのプロセスで時間がかかっているかを調べてみました。
先に、プロセスに関してまとめておきます。

プロセス 説明
Loading サイト読み込み、ネットワークの送受信、HTML文書の解析など
Scripting スクリプトの処理
Rendering 描画イベント
Painting 画像処理
Other それ以外の処理
Idle 処理と処理の間の待ち時間

まず、ページを読み込むまでのプロセスにかかる時間を調べてみました。
「何もしてないよ環境」
何もしてないよ環境
「KUSANAGI環境」
スクリーンショット 2016-10-10 16.45.12
全体的に減っているようにみえますが、圧倒的に「Idle」の時間が短縮されています。
次に、CPUの使用率を観てみました。
「何もしてないよ環境」
何もしてないよ環境CPU
「KUSANAGI環境」
KUSANAGI環境CPU
CPU使用率を観てみると、「何もしてないよ環境」では各プロセス間に待ち時間が発生していますが、「KUSANAGI環境」では待ち時間がほとんどありませんでした。データの圧縮などがうまく働いているからかと思われます。

まとめると

一言でまとめると、 「ノンカスタマイズでこの速さはすごい」 です。特に同時アクセス数にここまで耐えうるものにするには、かなりノウハウが必要になるかと思います。

おまけ

さて、以下は完全にPRです。
KUSANAGI環境を使えるサービスは、実のところEX-CLOUDのサービスだけではありません。
が、EX-CLOUDのWordPressホスティングの(私視点での)メリットをいくつか紹介したいと思います。

WAFが標準提供

WAFって、ご存知でしょうか?
「WAF」は、「Web Application Firewall(ウェブアプリケーションファイアウォール)」の略で、アプリケーションサーバーの前に設置し、アプリケーションサーバーに到達する前に不正利用やアプリケーション改ざん、情報流出などのアクセスを事前に検知してブロックしてくれるものです。サーバーの門番のようなものでしょうか。
WAFを利用しようとするとそれなりにコストがかかりますし、自前で構築しようとしても運用が大変です。WordPressを利用する場合には、不正にログインされてサイトを改ざんされたり、特定のファイルに集中的にアクセスしてサイトが落ちるような攻撃が頻繁に起こりえます。ですが、WordPressホスティングでは、WAFを標準提供しています。

一時的にサーバーを増強

(いい意味で)炎上等でアクセスが急に増えてしまうことがありますが、1週間以内であれば無料でサーバーを増強することができます。

EX-CLOUD標準のコントロールパネルで、サーバーをまるごとバックアップ

EX-CLOUDは、コントロールパネルというサーバーの起動/停止や契約管理を行う管理画面があります。こちらでサーバーをそのままバックアップする機能があります。WordPressのプラグイン等を利用すればバックアップを行うことができますが、開発中のミス等で復旧できなくなってしまった場合に利用することで、現状復帰が可能となります。

14日間無料お試し

14日間の無料お試しあります。ほんとにKUSANAGIが速いかどうか体感してください。※ちなみに14日間おわったら自動的にプラン終了するので、勝手に課金されたりする心配はありません!
最後に宣伝、失礼いたしました。
KUSANAGI、Good Job!

テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!

編集部

AWSを中心としたクラウドインフラやオンプレミス、ビッグデータ、機械学習などの技術ネタを中心にご紹介します。

Recommends

こちらもおすすめ

Special Topics

注目記事はこちら