Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

超高速WordPress仮想マシン「KUSANAGI」が搭載するPHP処理系とその導入方法

高速WordPress実行環境「KUSANAGI」を支えるサーバの技術(2)

  • LINEで送る
  • このエントリーをはてなブックマークに追加

 本連載では、プライム・ストラテジー株式会社が開発、オープンソースライセンスで無償提供している超高速WordPress仮想マシン「KUSANAGI」(以下、KUSANAGI)を構成する、それぞれのミドルウェアや技術を解説していきます。第2回では、KUSANAGIが搭載するPHP処理系について、種類とそれぞれの導入方法、および性能について解説します。

目次

KUSANAGIが搭載するPHP処理系

 KUSANAGIには、汎用的な処理系であるPHP 5.6、および昨年12月にリリースされたPHPの最新バージョンとなるPHP 7、米フェイスブックが開発するPHP互換のHHVMの3種が搭載され、KUSANAGIの独自コマンドで処理系を瞬時に変更することができます。

 PHP 5.6は、KUSANAGI以外で動作していたコードの移行やPHP 7非対応などのプロダクトを動作させるための安定的な処理系です。

 PHP 7は、PHP 5系に比して大幅なパフォーマンス改善が図られていますが、リリース間もないこともあり、コードレベルの対応は、まだこれからという状況です。ただし、今後メインストリームとなっていくのは、まず間違いありません。

 HHVMは、KUSANAGIが搭載するPHP処理系では、最も高いパフォーマンスを発揮しますが、PHP互換を謳う独自の処理系となるため、信頼性の面では多少劣ります。

 KUSANAGIが複数のPHP処理系を搭載することにより、運用環境に応じて適した処理系を選択できるだけでなく、特定の処理系が動作しない場合に対する対応性の確保、別の処理系での検証の容易さを兼ね備え、高い利便性を実現しています。

 これらのKUSANAGIが搭載するPHP処理系を、前回作成したLAMP環境をベースに順次導入し、ベンチマークの計測を行います。

 なお、KUSANAGIのPHP 7、HHVMは、処理系が併存できるようKUSANAGI独自のリポジトリより提供されており、ここで紹介される導入方法とは異なります。

PHP 5.6の導入

 PHP 5.6は、PHP 5系の最終リリースバージョンとなり、2016年12月末までバグ改修などのサポートが行われ、それ以降は2018年の末までセキュリティ問題のみのサポートとなります。なお、CentOS 7で標準インストールされるPHP 5.4は、2015年9月に公式サポートを終了しており、CentOS 7/REHL7で提供されるPHP 5.4はRedHat社が独自サポートしているものになります。

 今回は、前回作成した標準LAMP環境に、PHP 5系の最新版のPHP 5.6をインストールします。

 PHP 5.6をインストールするために、Remiというサードパーティーのパッケージリポジトリを使用します。

 まず、yum updateコマンドでパッケージを最新の状態に更新しておきます。

[root@CodeZine-CentOS ~]# yum update -y

 以下のコマンドで、EPELレポジトリとremiレポジトリをインストールします。

[root@CodeZine-CentOS ~]# yum install epel-release http://rpms.famillecollet.com/enterprise/remi-release-7.rpm -y

 「Complete !」と出れば成功です。

 インストール前に、現在のPHPバージョンを確認します。5.4.16と表示されます。

[root@CodeZine-CentOS www]# php -v
PHP 5.4.16 (cli) (built: Jun 23 2015 21:17:27)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies

 次に、remiレポジトリからphp 5.6をインストールします。remiレポジトリは通常無効になっているため、--enablerepoオプションで有効にします。

 前回作成した標準LAMP環境には、すでにPHP 5.4がインストールされているため、PHP 5.6でアップデートインストールされます。

[root@CodeZine-CentOS ~]# yum --enablerepo=remi,remi-php56 install php php-common -y

 「Complete !」と出れば成功です。

 アップデート後のPHPバージョンを確認します。5.6.22になっています。

[root@CodeZine-CentOS www]# php -v
PHP 5.6.22 (cli) (built: May 26 2016 15:36:45) 
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies

 前回同様に、WordPressを対象にしたベンチマークをとります。ブラウザ(Firefox)でWordPressのトップページを表示させ、Firefoxのアドオン「FireBug」でページのロード時間を確認します。筆者の環境では176msでした。

 次にコンソールに戻り、abコマンドでベンチマークをとります。

[php@CodeZine-CentOS ~]$ ab -n 100 -c 10 http://localhost/

 筆者の環境では、1秒当たりの同時アクセス数は6.38となりました。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

バックナンバー

連載:高速WordPress実行環境「KUSANAGI」を支えるサーバの技術
All contents copyright © 2006-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5