h2oとPHP7とWordPress

h2oが楽でいけているウェブサーバというのは十分にわかっし、社内勉強会でHTTP/2対応についてしゃべったのでそのテスト環境としてこの公開懺悔日記をHTTP/2対応してみる。

環境

旧環境

  • Apache 2.4.16
  • PHP 5.4

新環境

今まではApache 2.4.16とPHP 5.4組み合わせで動かしていました。HTTP/2対応するついでにPHP7で動かしてみる。

PHPNG a New Core for PHP7によると7.0は5.4の50%以上高速だからPHP7系にするだけでWordPressの高速化が期待できる。
PHPのバージョンを上げるだけで高速化ってすごいよなぁ。

HTTP/2対応する理由

  • モバイルからのアクセス増加
  • 遅延が無視できない気がする
  • HTTPS Everywhere

モバイルアクセスの増加

Mobile率でかいたように2013年で8月からはモバイル率が少し上昇
ページの性質(内容)によるんだろうな。
今は下記のように約3割がモバイルからのアクセスとなっています。

デバイスカテゴリ セッション数 %
デスクトップ 1,385 66.81%
モバイル 604 29.14%
タブレット 84 4.05%

2015 12 29 19 36 50

あまりアクセス数は増えていない^^;;
SEO頑張らないとダメ???
SEOではなくコンテンツの質を上げるべきだよね

遅延(Latency)が無視できない気がする

HTTP/1.1とHTTP/2だとLatencyが大きいと差が大きくなる。
HTTP/2CDN demoで比べて見ると

HTTP/1.1 HTTP/2
Wi-Fi(専用線) 0.85秒 0.66秒 0.19秒(1.2倍)
au LTE(1回目) 31.57秒 0.72秒 30.85秒(43.8倍)
au LTE(2回目) 50.38秒 1.04秒 49.34秒(48.4倍)

40倍以上の差があるのはびびる。
iPhone 6s Plusで同じURLにアクセスして試しました。
こんなに差がでたらLTE回線からまともにWebを見る気は無くなるよね。
HTTP/2対応したらそれが40倍速くなるんだったらHTTP/2に変更するモチベーションにつながるよね。
これがたまたまなのかLTEでは普通の数値なのかが不明です。

HTTPS Everywhere

常時HTTPSは損はしないと思っている。
h2oで手軽にHTTP2.0を体験してみるで書いたようにもうHTTPSでいいんじゃないの?

HTTPS/2というかTLS対応しないメリットあるのかな?と思う

h2oのまとめ

ApacheやnginxのHTTP/2対応がされるまではh2oが有利だと思う。
ただh2oのofficialページを見る限りではnginxのHTTP/2よりも早いという結果がでている。

まだまだh2oの優位性は変わらないのかもしれない。
Apacheからh2oに入れ替えて私は困っていない。

PHP7の速度

速度チェック

旧環境

  • Apache 2.4.16
  • PHP 5.4

20151229php54

新環境

20151229php7

画像の通り^^;;

Page Load Time PageSpeed Score
PHP 5.4 5.4秒 B(82%)
PHP7 4.7秒 C(79%)

PHP7のまとめ

PageSpeed Scoreは5.4の方が数値が高いのはちょっといじっているから
PHP7のサーバでもチューニングしたらこのスコアはあがると思っています。
ノーマル状態では1秒近くPHP7の方が早い
PHPのバージョンをあげてPHP7で動くか確認したらアプリケーションが高速化されるのはすごい。
WordPressの高速化は今のタイミングではPHP7にした方がいいという事になります。

総評

  • HTTP/2対応することによりMobileからのアクセスが高速化されている*はず*
  • WordPressのプライグインはテストで確認する必要ありだと思う
  • とりあえず黙ってh2oを入れておけ。