エンタープライズ用途での利用が増えている「WordPress」の高速化チューニングテクニックを解説する本連載。今回は、「1000倍高速化」を目指すチューニングテクニックの第二弾として、「PHP 7の導入」を実施します。
前回は、外部リポジトリのEPELリポジトリとRemiリポジトリを導入して「PHP 5.6+OPCache+APCu」環境を構築し、チューニングをしない初期状態から「約5.5倍」までWordPressのパフォーマンスを高速化できました。
今回は、PHP実行環境を「PHP 7」に変更して、さらなるチューニングを施していきます。
では早速実施していきましょう。これまで解説してきたチューニングの続きですので、この記事からご覧の方は、連載バックナンバーから、「約5.5倍」までチューニングを済ませておいてください。
これまでのチューニング内容 | ページのロード時間 (デフォルト環境比) |
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実行環境を「PHP 7」に変更します。PHP 7は10年ぶりのメジャーバージョンアップがなされ、性能向上やメモリ使用量の削減など大きな改善が加えられたPHP実行環境です。
PHP 7は、PHP 5と比べて2倍以上のパフォーマンス向上をもたらします。また、下位互換性があり、WordPressコアはバージョン4.4以降から対応しています。ただし既存のテーマやプラグインなどにまだ対応していないものもあるので、その点は注意が必要です。
それでは、PHP 7を導入しましょう。Remiリポジトリから導入します。PHP 5.6とは共存できませんので、一度PHP 5.6と関連パッケージを取り除いてからyumでインストールします。
[root@ip ~]# yum remove php* -y [root@ip ~]# yum --enablerepo=remi,remi-php70 install php php-mysqlnd php-gd php-xml php-xmlrpc php-mbstring php-mcrypt php-fpm php-opcache php-apcu -y
これで、PHP 7環境のインストールは完了です。正しくインストールされたか、php -vコマンドでステータスを確認します。
[root@ip ~]# php -v PHP 7.0.5 (cli) (built: Mar 30 2016 09:59:14) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
[root@ip ~]# php -i | egrep 'apc|opcache' Additional .ini files parsed => /etc/php.d/10-opcache.ini, /etc/php.d/40-apcu.ini, /etc/php.d/50-apc.ini apc apcu MMAP File Mask => /tmp/apc.XXXXXX apc.coredump_unmap => Off => Off apc.enable_cli => Off => Off apc.enabled => On => On (略) opcache.blacklist_filename => /etc/php.d/opcache*.blacklist => /etc/php.d/opcache*.blacklist opcache.consistency_checks => 0 => 0 opcache.dups_fix => Off => Off opcache.enable => On => On opcache.enable_cli => Off => Off (略)
Copyright © ITmedia, Inc. All Rights Reserved.