「WordPress“1000倍”高速化」チューニング 第五弾──プラグイン「WP SiteManager」で、ページキャッシュを導入するとにかく速いWordPress(9)

エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「1000倍高速化」を目指すチューニングテクニックの第五弾「WP SiteManagerでページキャッシュを導入する」方法を紹介します。

» 2016年05月09日 05時00分 公開
[中村けん牛プライム・ストラテジー]

連載バックナンバー

 前回は、Webサーバである「Nginx」に切り替えて高速化するチューニングテクニックにより、チューニングをしない初期状態から「約18.2倍」までWordPressを高速化しました。

 今回は、WordPressのプラグイン「WP SiteManager」を用いたページキャッシュを導入し、デフォルト環境比で「約228倍」まで高速化するチューニングテクニックを解説します。

photo WordPressの日本語ローカルサイト

 まず、本テクニックはこれまで解説してきたチューニングの続きとなるので、この記事からご覧の方は、連載バックナンバーから、「約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%)

WordPressのプラグイン「WP SiteManager」で、ページキャッシュを導入する

 では、WP SiteManagerでページキャッシュを導入し、さらにチューニングを進めていきましょう。

photo 「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 でブログをお楽しみください。 */
(略)
リスト:「/var/www/html/wp-config.php」の修正箇所(3行目)

 続いて、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/
(“xxx”はユーザー固有の文字列)

 筆者の環境では、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.

スポンサーからのお知らせPR

注目のテーマ

AI for エンジニアリング
「サプライチェーン攻撃」対策
1P情シスのための脆弱性管理/対策の現実解
OSSのサプライチェーン管理、取るべきアクションとは
Microsoft & Windows最前線2024
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。