「WordPress“1000倍”高速化」チューニング 第三弾──「HHVM(HipHop Virtual Machine)」を導入する:とにかく速いWordPress(7)(2/2 ページ)
エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は「1000倍高速化」を目指すチューングテクニックの第三弾として、「HHVMを導入してチューニングする」方法を紹介します。
PHP 7を停止し、HHVMを有効にする
これでHHVM環境の最低限の設定が完了しました。PHP 7を停止してから、HHVMを有効化します。
[root@ip ~]# systemctl disable php-fpm [root@ip ~]# systemctl stop php-fpm [root@ip ~]# systemctl enable hhvm [root@ip ~]# systemctl start hhvm
ブラウザでトップページにアクセスしてください。初回はバイトコード生成のために時間がかかりますが、2度目以降のリロードで、だんだんページのロード時間が速くなっていきます。ブラウザを何度もリロードしてみましょう。十数回ほどリロードするとJITコンパイルが行われて、性能が向上します。筆者の環境では、およそ「16ms前後」になりました。
続いてabコマンドで1秒当たりの同時アクセス数を測定してみます。
[root@ip ~]# ab -n 300 -c 30 http://ec2-xxx.xxx.compute.amazonaws.com/
こちらも、10秒ほどの間隔を空けて7回ほどabコマンドを繰り返してみてください。徐々に性能が向上していくことが確認できます。筆者の環境では7回目のabコマンドで、1秒当たりの同時アクセス数(Requests per second)が「195.05」となりました。PHP 7よりも約1.32倍のパフォーマンス向上が確認できました。
チューニング内容 | ページのロード時間 (デフォルト環境比) |
1秒当たりの同時アクセス数 「Requests per second」(デフォルト環境比) |
---|---|---|
デフォルト環境 | 176ms | 11.24 |
APCの導入 →チューニング方法をおさらい |
70ms(約251%) | 29.20 |
OPcache+APCuを導入 →チューニング方法をおさらい |
66ms(約266%) | 30.51 |
MariaDBの設定を調整 →チューニング方法をおさらい |
64ms(約275%) | 31.82 |
翻訳アクセラレータを導入(キャッシュ) →チューニング方法をおさらい |
53ms(約332%) | 39.29 |
翻訳アクセラレータを導入(翻訳を停止) →チューニング方法をおさらい |
36ms(約488%) | 56.78 |
gzip圧縮を用いる →チューニング方法をおさらい |
35ms(約502%) | ─ |
Tunedの調整 →チューニング方法をおさらい |
34ms(約517%) | 58.47 |
event MPM+php-fpm構成に変更 →チューニング方法をおさらい |
33ms(約537%) | 60.79 |
PHP 5.6+OPCache+APCuを導入 →チューニング方法をおさらい |
32ms(約550%) | 61.84(約550.2%) |
PHP 7+OPCache+APCuを導入 →チューニング方法をおさらい |
18ms(約977.7%) | 148.08(約1250.6%) |
HHVMを導入 | 16ms(約1100%) | 195.05(約1690.8%) |
今回までのチューニングで、チューニングなしの初期状態と比べて「約16.9倍」高速になりました。
次回は、WebサーバをApacheの代わりに「Nginx」に変更し、デフォルト環境比で「約18.2倍」まで高速化するチューニングを施していきます。
筆者紹介
中村けん牛
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- WordPress自体のチューニングが必要な理由と高速化の基本的な考え方
企業のCMSサイトやオウンドメディアなどエンタープライズ用途での利用が増加しているWordPressの高速化について解説する連載。初回は、WordPressの高速化が求められる背景や、WordPress高速化の基本的な考え方であるページのロード時間とその構成要素、1秒当たりの同時アクセス数について解説します。 - Dreamweaverで始めるWordPressサイト構築の基礎知識
Dreamweaverの概要と新機能、WordPressの概要、環境構築を行う際に必要な初期設定などを紹介する。 - 障害時にサブサーバへ自動で切り替える「高可用性WordPressシステム」の作り方 前編
サービスを止めてはならない環境で活躍する冗長化支援ツール「DRBD」。今回は、CMSツールとして多くのWebサイトで利用されている「WordPressサーバ」の高可用性をDRBDで確保する方法を解説します。前編は、必要なソフトウェアのインストールと初期設定までを説明します。