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で動かしてみる。
- h2o
- PHP 7.0
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% |
あまりアクセス数は増えていない^^;;
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
新環境
- h2o
- PHP 7.0
画像の通り^^;;
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を入れておけ。