Webサーバ経由でのPHP 7環境を有効化します。
[root@ip ~]# systemctl enable php-fpm [root@ip ~]# systemctl restart php-fpm
ブラウザで、トップページにアクセスしてください。2度目以降のリロードでページのロード時間が速くなっていることを確認できます。筆者の環境では、およそ「18ms前後」になりました。このあたりまでチューニングが進むと、ブラウザでの測定はほぼ限界となります。
続いてabコマンドでベンチマークを取ります。ここから、測定値の揺らぎを抑えるため、リクエスト数を100から300に、同時接続数を10から30に増加させます。
[root@ip ~]# ab -n 300 -c 30 http://ec2-xxx.xxx.compute.amazonaws.com/
筆者の環境では、Requests per secondが「148.08」となりました。PHP 7にするだけで、PHP 5.6よりも「約2.39倍」パフォーマンスが向上しました。そして、デフォルト環境と比べて「約12.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 7+OPCache+APCuを導入 | 18ms(約977.7%) | 148.08(約1250.6%) |
次回は、フェイスブックが開発するPHP互換の実行環境「HHVM(HipHop Virtual Machine)」を導入して、今回の「約1.32倍」、デフォルト環境比で「約16.9倍」まで高速化チューニングをしていきます。
1971年栃木県生まれ。中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。2002年にプライム・ストラテジー株式会社を設立、代表取締役に就任する。2005年にPT. Prime Strategy Indonesiaを設立して以来、アジアでのITビジネスに携わる。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。
Copyright © ITmedia, Inc. All Rights Reserved.