エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「1000倍高速化」を目指すチューニングテクニックの第五弾「WP SiteManagerでページキャッシュを導入する」方法を紹介します。
前回は、Webサーバである「Nginx」に切り替えて高速化するチューニングテクニックにより、チューニングをしない初期状態から「約18.2倍」までWordPressを高速化しました。
今回は、WordPressのプラグイン「WP SiteManager」を用いたページキャッシュを導入し、デフォルト環境比で「約228倍」まで高速化するチューニングテクニックを解説します。
まず、本テクニックはこれまで解説してきたチューニングの続きとなるので、この記事からご覧の方は、連載バックナンバーから、「約18.2倍」まで高速化チューニングを済ませておいてください。
チューニング内容 | ページのロード時間 (デフォルト環境比) |
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%) |
Nginxを導入(Nginx+PHP 7) →チューニング方法をおさらい |
16ms(約1100%) | 151.07(約1344%) |
Nginxを導入(Nginx+HHVM) →チューニング方法をおさらい |
16ms(約1100%) | 205.20(約1825.6%) |
では、WP SiteManagerでページキャッシュを導入し、さらにチューニングを進めていきましょう。
ページキャッシュは、一度アクセスされ、WordPressが生成したHTMLなどを「一定時間、2回目以降のアクセスで再利用する」ことによって高速化を図る仕組みです。ページキャッシュには、WordPressのプラグインで実現するもの、ミドルウェアで実現するものなど幾つかの種類があります。本稿では、WordPressのプラグインとして手軽に利用でき、マルチデバイス対応である「WP SiteManager」を導入します。
WP SiteManagerをダウンロードして、展開します。
[root@ip ~]# cd /var/www/html/wp-content/plugins/ [root@ip plugins]# wget https://downloads.wordpress.org/plugin/wp-sitemanager.zip [root@ip plugins]# unzip wp-sitemanager.zip
「/var/www/html/wp-config.php」に1行追記して、WP_CACHE定数を「true」に定義します。これは、WordPressに「ページキャッシュのプラグインを利用することを伝える」ための設定です。
(略) define('WP_DEBUG', false); define('WP_CACHE', true); /* 編集が必要なのはここまでです ! WordPress でブログをお楽しみください。 */ (略)
続いて、WordPressの管理画面にログインして、プラグイン「WP SiteManager」を有効化します。これで、ページキャッシュが有効になります。ページキャッシュの設定は、画面左のメインナビゲーションメニュー「WP SiteManager」→「キャッシュ」で確認できます。
ページキャッシュは、管理画面にログインしている間は動作しません。ログアウトしてから、トップページにアクセスしてページのロード時間を確認しましょう。Firebugで計っている筆者の環境では、速すぎて測定不能でした。
コンソールに戻り、これまでと同様にabコマンドでベンチマークを確認します。ここから、測定値の揺らぎを抑えるためにリクエスト数を300から「10000」に、同時接続数を30から「100」に増やして測定します。
[root@ip plugins]# ab -n 10000 -c 100 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、Requests per secondは「2566.17」となりました。
チューニング内容 | ページのロード時間 (デフォルト環境比) |
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%) |
Nginxを導入(Nginx+PHP 7) →チューニング方法をおさらい |
16ms(約1100%) | 151.07(約1344%) |
Nginxを導入(Nginx+HHVM) →チューニング方法をおさらい |
16ms(約1100%) | 205.20(約1825.6%) |
WP SiteManagerでページキャッシュを導入 | (測定不能) | 2566.17(約22830%) |
今回までのチューニングにより、チューニングなしの初期状態と比べて「約228倍」高速になりました。直前のNginx+HHVM構成と比べても10倍以上高速化しています。
次回は、「1000倍高速化チューニング」の総仕上げを行います。「NginxのFastCGIキャッシュ」を導入して「約1127倍」まで高速化するチューニングテクニックを紹介します。
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.