SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

PHPアクセラレータ「APCu」「OPCache」の導入

 次に、PHP 5.5以降で導入された、PHPアクセラレータ「APCu」および「OPCache」を導入します。

 PHPアクセラレータ「APCu」は、PHPにユーザキャッシュ機能を提供するモジュールです。

 ユーザキャッシュとは、PHP内部で使用されるオブジェクト・変数などのユーザデータをキャッシュ(メモリに保存)するものです。APCuは、ユーザデータをメモリ内にKVS(Key Value Store)形式でキャッシュします。

 PHPアクセラレータ「OPCache」は、PHPにオペコードキャッシュ機能を提供するモジュールです。

 通常のPHPの実行プロセスは、2段階で行われます。まず、PHPのソースコードを構文解析し中間コード(バイトコード)に変換します。次に、変換されたバイトコードをPHP仮想マシンであるZend Engineが実行します。

 PHPアクセラレータ「OPCache」はこのPHP中間コードをキャッシュし、二度目以降のアクセスではキャッシュした中間コードを再利用します。該当するPHPのソースコードに変更が加えられていなければ、最初の中間コードへの変換が省略できるため、PHPアクセラレータを使用することでPHPの実行速度を向上することができます。PHPのソースコードに変更が加えられていた場合は、キャッシュされた中間コードは破棄されるため、PHPアクセラレータ使用の有無によりPHPの出力結果が変わることはありません。

 以下のコマンドで、APCuとOPcacheをインストールします。

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

 APCuの設定ファイル(/etc/php-zts.d/40-apcu.ini)に、太字部分の設定を追加します。

extension = apcu.so
apc.enabled=1
apc_cli.enable = 1
apc.shm_size = 64M
apc.mmap_file_mask=/tmp/apc.XXXXXX

 OPCacheの設定ファイル(/etc/php-zts.d/10-opcache.ini)に、太字部分の設定を追加します。

zend_extension=opcache.so
opcache.enable=1
opcache.eneble_cli = 1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.blacklist_filename=/etc/php-zts.d/opcache*.blacklist

 HTTPサーバではmod_phpを使用してPHPを呼び出しているため、APCuとOPCacheを有効にするためにはHTTPサーバを再起動する必要があります。

[root@CodeZine-CentOS ~]# systemctl restart httpd

 ブラウザでWordPressのトップページを表示させ、FireBugでページのロード時間を確認します。

 筆者の環境では74msでした。APCuおよびOPCache導入前と比較してロード時間が42%になりました。

 続いて、コンソールからabコマンドでベンチマークをとります。

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

 筆者の環境では、1秒当たりの同時アクセス数は17.85となり、APCuおよびOPCache導入前と比較して2.78倍に性能向上しました。

次のページ
PHP 7の導入

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
高速WordPress実行環境「KUSANAGI」を支えるサーバの技術連載記事一覧
この記事の著者

中村けん牛(プライム・ストラテジー株式会社)(ナカムラ ケンギュウ)

プライム・ストラテジー株式会社 代表取締役。 中学1年生で電波新聞社の『マイコンBASICマガジン』にプログラムを寄稿して以来、プログラミング歴30年。早稲田大学法学部を卒業後、野村證券に入社。公認会計士第二次試験合格。執筆監訳書籍に『WordPressの教科書』シリーズ(SBクリエイティブ)、『詳解 WordPress』『WordPressによるWebアプリケーション開発』(ともにオライリー・ジャパン)などがある。Tw...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

大曲仁(プライム・ストラテジー株式会社)(オオマガリ ヒトシ)

プライム・ストラテジー株式会社 執行役員CTO。 執行役員CTOとして技術のTOPを務め、超高速仮想マシン「KUSANAGI」の開発にも参加。技術書の執筆や登壇実績も多数。WordPressでは、PS Auto Sitemap ほか、開発プラグインをWordPress.ORGの公式ディレクトリで公開。WordCamp Yokohama 2010 実行委員長、WordPress日本語フォーラム世話役などコミュニティでも活...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

宮﨑悟(プライム・ストラテジー株式会社)(ミヤザキ サトル)

プライム・ストラテジー株式会社 チーフエンジニア。 国立函館高専を卒業後、現在のNEC情報システムズに入社。UNIX・Windowsアプリケーション開発、Solaris/Linuxでのシステム構築に20年以上従事した。SolarisとLinuxを専門とし、OSおよび仮想化技術を得意とする。日本OpenSolarisユーザグループのメンバとして、OSCなど勉強会での登壇多数。Twitter: @s-miyaza Facebook: satoru.miyazaki.31 Slideshare: http://www.slideshare.net/satorumiyazaki<KUSANAGI開発チーム> プライム・ストラテジー株式会社超高速WordPress仮想マシンKUSANAGIの開発とWordPressマネージドサーバホスティングのサービス開発を担当するチームです。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9456 2016/06/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング