エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は「パブリッククラウド上の“KUSANAGI”は、本当に速いのか」を検証します。
前回は、“いきなり1000倍高速”を実現するWordPress高速化チューニング済み仮想マシン「KUSANAGI」で得られる、「7つのメリット」を紹介しました。
今回は、実際にKUSANAGIをパブリッククラウド上で起動させ、「本当に速いのか」を確かめましょう。「Amazon Web Services(以下、AWS)」対応版の「KUSANAGI for AWS」を用い、本連載の第2回〜第10回で実践してきた高速化チューニングの結果と比べます。
なお、2016年8月現在、KUSANAGIは10種類のパブリッククラウドサービス(IaaS:Infrastructure as a Service)での仮想マシンイメージとして使えます。今回はAWSの仮想クラウドサーバ「Amazon Elastic Compute Cloud(以下、Amazon EC2)」上にインスタンスを構築して検証しますが、それ以外のクラウドサービスを使っている人も、AWS固有の表記などを適宜読み替えることで応用していただけます。
Amazon EC2上にインスタンスを用意します。第2回「WordPressを2.5倍速くするPHPアクセラレータ“APC”」で導入したものと同様に、「t2.medium」インスタンスを「東京リージョン」で作成します。以下のサイトを参考に、KUSANAGIの仮想マシンにSSHでログインし、管理者ユーザーに切り替えるまで作業を進めてください。
マシンイメージは「KUSANAGI for AWS」を選びます。KUSANAGI for AWSは、AWS Marketplaceの「Amazonマシンイメージ(AMI)」コーナーに登録されています。なお、KUSANAGIでの本運用においては4GiB以上のメモリを割り当てたインスタンスを推奨しますが、今回のテスト用途ならば2GiB程度のメモリがあれば大丈夫です。
ここから、「ホスト名(パブリックDNS)での名前解決が可能であり、ホスト名で仮想マシンへ外部からアクセスできる環境にある」として話を進めます。名前解決は、クライアントマシンのhostsファイル設定によるものでも構いません。また、本稿でのホスト名は「ec2-xxx.xxx.compute.amazonaws.com」とダミー文字列で記述しますので、適宜自身の環境に置き換えて設定を進めてください。
KUSANAGIの初期設定とプロビジョニングを行います。以下のサイトを参考に、作業を進めてください。
プロビジョニングの作業によって、WordPressのインストールに必要なディレクトリの生成やファイル群の配置などが行われます。hostnameの設定では、「ec2-xxx.xxx.compute.amazonaws.com」と仮想マシンにアクセス可能なホスト名を入力します。なお、今回は外部へ公開しないテスト用途としますので、「SSL」および「Let's Encrypt」の設定は省略して構いません。Let's Encryptの設定の場面で、「Enter」キーを2回押して処理をスキップできます。
KUSANAGIにWordPressをインストールします。以下のサイトを参考に、作業を進めます。
無事WordPressの初期トップページ画面を確認できましたら、一度SSHコンソールに戻って、kusanagiコマンドを利用して現在のステータスを確認します。
kusanagi status
[root@ip ~]# kusanagi status Profile: kusanagi_html KUSANAGI Version 7.8.3 aws *** nginx *** ● nginx.service - The NGINX HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2016-07-04 02:31:38 JST; 4min 25s ago *** Apache2 *** ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled) Active: inactive (dead) *** HHVM *** ● hhvm.service - HHVM virtual machine, runtime, and JIT for the PHP language Loaded: loaded (/etc/systemd/system/hhvm.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2016-07-04 02:31:38 JST; 4min 25s ago *** php-fpm *** ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; disabled; vendor preset: disabled) Active: inactive (dead) *** php7-fpm *** ● php7-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php7-fpm.service; disabled; vendor preset: disabled) Active: inactive (dead) *** Cache Status *** fcache off bcache off Done.
2〜4行目には、「現在選択されているプロファイル」「KUSANAGIのバージョン」「クラウドサービス」が表示されます。この例では、kusanagi_htmlがプロファイルとして選択されており、KUSANAGIのバージョンは7.8.3、クラウドサービスはAWSであることが分かります。
プロファイルは、前述したWordPressのプロビジョニング時に指定したものです。ここでは、複数のバーチャルホストが有効になっているときに、どのバーチャルホストが現在のkusanagiコマンドでの操作対象となっているかを示しています。
中段は、WebサーバとPHP処理系の状態が表示されます。この例では、Webサーバは「Nginx」、PHP処理系は「HHVM」が有効であり、既に実行されていることを示しています。
下段のCache Status以下は、KUSANAGIが持つ2つのページキャッシュの状況を示す項目です。この例では、NginxのFastCGIキャッシュ(fcache)が「無効」、WordPressのKUSANAGI専用プラグインとして同梱されているページキャッシュ(bcache)も「無効」であることを示しています。
Copyright © ITmedia, Inc. All Rights Reserved.