PHP 5.5.30 から PHP 7.0.1 にアップグレードしたら本当に約2.4倍の速くなった


PHP7

概要

  • PHP 7がPHP 5.6と比べて2倍速いみたいな発表があったので試してみました。
  • このBlogが実験台です。今は、PHP7で動いています。
  • Changelogを見る感じだと、まだまだ大きなバグが出ているので運用環境で使うのは時期早々かもしれません。
    • PHP5系からPHP7系にするだけで本当に2倍速くなります。

測定環境

  • Wordpres4.4とZenCacheの環境です。
  • 純粋に1プロセスの処理時間を計測するために並列数は1
  • 運用環境に近い環境で測定したかったのでZenCacheは有効にした状態で計測
  • Mac OS X
  • ページのテキスト量が多いのでgzip付きで。

測定コマンド

% ab -n 1000 -c 1 -H "Accept-Encoding: gzip,deflate" http://matsu.teraren.com/blog/

PHP 5.5 + APCU

Requests per second:    101.03 [#/sec] (mean)

PHP 7.0.1 + APCU

約14%しか速くなっていないぞ。

Requests per second:    116.01 [#/sec] (mean)

PHP 7.0.1 + Opcache

よくよく調べてみると、PHP7自体にOpcode cacheがある。
PHP7はPHPに元から付いているOpcacheを使った方が良さそう。

ということで、iniファイルでopcache関連を適当に有効化します。

Requests per second:    241.69 [#/sec] (mean)

お。かなり速くなりました。

手元の環境では、約2.4倍速くなりました !

まとめ

  • 2.4倍速くなった!
  • ktai styleやone click updaterで、PHP7のDeprecated warning出たので、プラグインを消して対応しました。(もう使っていないので)
  • apcu_store() などのAPCU関連がまだPHP7には対応していません。代替方法を調べるのが面倒なので、redisに置き換えて対応しました。

元記事