“いきなり1000倍高速”WordPress仮想マシン「KUSANAGI」は、実際にどれだけ速いのか:とにかく速いWordPress(12)(4/4 ページ)
エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は「パブリッククラウド上の“KUSANAGI”は、本当に速いのか」を検証します。
(2)KUSANAGIベンチマーク:Nginx+PHP 7環境
続いて、ミドルウェアの組み合わせを「Nginx」+「PHP 7」に変更します。
kusanagi nginx
abコマンドを実行します。ここでは以下のコマンドを、10秒間隔で3回実行します。
ab -n 300 -c 30 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、3回目の実行で1秒当たりの同時アクセス数が「163.09」となりました。
(3)KUSANAGIベンチマーク:Apache+HHVM環境
続いて、ミドルウェアの組み合わせを「Apache」+「HHVM(HipHop Virtual Machine)」に変更します。
kusanagi httpd kusanagi hhvm
abコマンドを実行します。ここでは以下のコマンドを、10秒間隔で12回実行します。実行回数を増やした理由は、バイトコードを作成しながらJITコンパイルを行って効率化していくHHVMの特性から、ウォームアップに時間がかかるためです。2度目以降の実行で、だんだんページのロード時間が速くなっていきます。
ab -n 300 -c 30 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、12回目の実行で1秒当たりの同時アクセス数が「193.12」となりました。
(4)KUSANAGIベンチマーク:Nginx+HHVM環境
続いて、ミドルウェアの組み合わせを「Nginx」+「HHVM」に変更します。
kusanagi nginx
abコマンドを実行します。ここでは以下のコマンドを、10秒間隔で3回実行します。
ab -n 300 -c 30 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、3回目の実行で1秒当たりの同時アクセス数が「200.08」となりました。
(5)KUSANAGIベンチマーク:Nginx+HHVM+ページキャッシュを導入
続いて、(4)の環境から「ページキャッシュを有効」にします。ここでは、KUSANAGI専用プラグインのページキャッシュである「bcache」を有効にします。
kusanagi bcache on
abコマンドを実行します。このテストでは、測定値の揺らぎを抑えるために、リクエスト数を300から10000に、同時接続数を30から100に引き上げて、次のコマンドを10秒間隔で3回実行します。
ab -n 10000 -c 100 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、3回目の実行で1秒当たりの同時アクセス数が「2048.26」まで向上しました。
(6)KUSANAGIベンチマーク:Nginxの「FastCGIキャッシュ」を有効にする
最後に、Nginxの「FastCGIキャッシュ」を有効にしてベンチマークを測定します。次のコマンドでNginxのFastCGIキャッシュを有効にします。
kusanagi fcache on
abコマンドを実行します。次のコマンドを10秒間隔で3回実行します。
ab -n 10000 -c 100 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、3回目の実行で1秒当たりの同時アクセス数が「19160.72」となりました。
以前行ったチューニングの結果と比べてみます。
ベンチマーク結果 1秒当たりの同時アクセス数(Requests per Second) |
以前行ったチューニングの結果 | KUSANAGI |
---|---|---|
Apache+PHP 7 →チューニング方法をおさらい |
148.08 | 155.95 |
Nginx+PHP 7 →チューニング方法をおさらい |
151.07 | 163.09 |
Apache+HHVM →チューニング方法をおさらい |
195.05 | 193.12 |
Nginx+HHVM →チューニング方法をおさらい |
205.20 | 200.08 |
ページキャッシュを導入 →チューニング方法をおさらい |
2566.17 (WP SiteManager) |
2048.26 (KUSANAGI専用プラグインのページキャッシュ「bcache」使用時) |
NginxのFastCGIキャッシュを導入 →チューニング方法をおさらい |
12672.30 | 19160.72 (fcache) |
若干の差異はありますが、過去に実施した高速化テクニックのベンチマークと比べ、おおむね似た傾向の結果を示すことを確認できました。過去に実施した高速化テクニックは、1つ1つの行程こそ難しくはありません。しかし、全てを実践するのは若干の手間と時間がかかります。この作業をすっ飛ばして、“いきなり高速”かつ“最新状態”のWordPress環境を構築できるのがKUSANAGIの大きなメリットです。
次回は、KUSANAGIをもっと活用していく「応用編」として、最近話題の「常時SSL」、高速な通信プロトコルの「HTTP/2」、無償で利用可能なSSL証明書の「Let’s Encrypt」などを導入する方法を解説する予定です。お楽しみに。
筆者紹介
中村けん牛
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 容易にWebサービスを高速化できるNginxを使いこなすための秘訣とは
高速で軽量なOSSのWebサーバとして注目されている「Nginx」。使いこなすための課題や有効なアーキテクチャ構成などをサイボウズでの導入事例と共に明かす。 - 高速・軽量・高機能……Nginxの基礎知識
処理能力の高さなどを理由に、近年、大規模サイトを中心に急速にシェアを拡大しているWebサーバー「Nginx」。この連載では、その特徴と魅力を分かりやすく紹介します。 - WordPress自体のチューニングが必要な理由と高速化の基本的な考え方
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増加しているWordPressの高速化について解説する連載。初回は、WordPressの高速化が求められる背景や、WordPress高速化の基本的な考え方であるページのロード時間とその構成要素、1秒当たりの同時アクセス数について解説します。