WordPress powered by Amimoto で PHP7へアップグレードしよう!

Amimoto AMI の最新アップデートは PHP7 をデフォルトにすることでした。今まで行ってきたアップデートや改善のうち、これは私たちにとって最大のものでした。性能、セキュリティ、安定性が向上した PHP7 は Web デベロッパー達が長らく待ち望んだものでした。このアップデートをテストした結果をレポートします。

テスト環境として弊社の管理しているサイトにベンチマークをかけました。 インスタンスタイプの変更やコードの改良などを実施していないにもかかわらず、ただ PHP7 に変更しただけで CPU やロードバランスのレスポンス、メモリの使用量など、すべての項目において目覚ましい成果がえられました。マトリクスはより滑らかになり、スパイクとエラーが劇的に減っていることがわかります。

なぜ PHP7 への変更が重要なのか

WordPress のバックエンドに PHP7 を採用するとコードに一切の変更を加えることなく高いパフォーマンスを引きだすことができます。どの WordPress デベロッパーでもアドバンテージを持つことのできる互換性のあるアップグレードです。サイトが高速化されるため SEO 効果も期待できます。さらに推し進めるには Let’s Encrypt を使って SSL を導入し HTTP/2 に対応すると良いでしょう。また、Google の提供するPageSpeed Insights を使ってテストすることもできます。結果に満足できない場合は PHP7 で動作する新しい Amimoto をお試しください。

CPU 使用率

高いトラフィックが見込まれる WordPress サイトでは CPU 使用率に劇的な改善が見込まれるでしょう。トラフィックが急増しても、サーバはリクエストを通常どおり処理し正しいレスポンスを返す必要があります。トラフィックが増加するほどエラーやタイムアウト、そして遅延の原因になりうる要求も増えてきます。サイトを訪れるユーザはレスポンスが返るまで辛抱強く待つか、待てない場合は即座にタブを閉じてしまうでしょう。

グラフの通りトラフィックの急増自体は確認できますが、PHP7 変更後の CPU 使用率の上昇は穏やかです。スパイクの平均スパンが短く、また鋭角なグラフにはなっていません。

PHP7 変更前

PHP7 変更後

ELB リクエスト数

テストしたサイトでは Amimoto CloudFormation AMI でも提供しているエラスティックロードバランサー (ELB) を使用しています。この AMI はオートスケーリングにも対応しています。 CloudFrontテンプレートは ELB とともに動作し、一つのサーバがトラフィック過多にならないよう、アクセスを正常なサーバへ振り分ける機能です。

PHP7 変更前

PHP7 変更後

ELB の応答時間

ELB の応答時間の改善は最も驚いた部分でした。 ELB の応答時間はユーザーがどのような体験をするかを考える要素の一つになります。ここでの応答時間が長くなると、サイトを訪れるユーザの待ち時間が長くなったり、管理ページの読み込み時間が長くなったりします。

PHP7 変更前

PHP7 変更後

アップデート方法

とても簡単です。AWS Marketplace に掲載されている Amimoto AMI をローンチするだけです。これらは HHVM を除くと PHP7が標準となっています。