自分も長く使ってきたさくらのレンタルサーバが先日、モジュールモードのPHP7を500円プランでも利用可能にしたというニュースを聞いて早速お試ししてみました。
さくらのレンタルサーバ | Webサイトを速くする、新生さくらのレンタルサーバ
エックスサーバーやロリポップ!のコンテンツキャッシュとも比較して非常に面白いデータが取れました。
アップデートポイント
今回のさくらサーバーのアップデートの要点は、PHP7のモジュールモードが利用できるようになっていることですね。これまでのさくらのレンタルサーバでは上位プランだけがモジュールモードを利用可能で、500円の一番売れてるプランはCGIモードのみでした。
今回のアップデートでこの500円のスタンダードプランでもモジュールモードが利用できるようになったということで、おそらくこれまでよりも503エラーが出にくくなり、大量アクセスがあっても応答が停止しづらくなっていると思われます。
プロモーションサイトで、これまで応答に8.2秒かかっていたものが0.5秒で処理できると書かれているところからみても、PHPの処理速度が大幅に向上するものと思われますので、それに合わせたベンチマーク方法を取ったほうが良さそうです。
ベンチマーク条件
今回はPHPの処理速度を見るということで、イマイチロード速度の判定基準がよくわからないGoogleのPage Speed InsightsやGTmetrix等のWebツールではなく、単純にページのHTMLを処理する速さがわかるsiege(Apache Benchみたいなの)をつかってページHTMLをどれだけ速く出力できるかを計測してみました。
もちろん、ベンチ元のサーバーがさくらやGMOのデータセンター内にありそうなサーバーからだと不公平なので、AWSの西海岸リージョンを借りてます。ちなみに、50並列の各100リクエストなので普通のレンタルサーバはリクエスト上限を超えてエラーが出てくるリクエスト数です。おそらくさくらのCGIモードでは処理しきれないものと思われます。ロリポップ!もキャッシュなしでは怪しいでしょう。
早速結果です
絶対値で出してもプラグインやベンチ対象のWordPressの構成で変わってきて誤解が生まれるので相対値で出してみました。さくらのモジュールモードを100%としています。
さくら | エックスサーバー | ロリポップ! | |||
---|---|---|---|---|---|
PHP7モジュール | PHP7 CGI | PHP7 fast-cgi | PHP5.6モジュール | PHP5.6モジュール&コンテンツキャッシュ | |
Transaction rate | 100% | 18% | 97% | 13% | 125% |
Availabillity | 100.00% | 23.66% | 99.96% | 77.31% | 100.00% |
なかなか興味深い数値になりました。結論から先に言うとさくらの今回のモジュール版追加により、エックスサーバー並みの性能が出ているのがわかります。エックスサーバーはX10で3ヶ月契約だと1,200円のプランです。さくらはスタンダードで1ヶ月契約、515円のプランです。コストパフォーマンスがすごい!
availabilityはどれだけ200で応答できたかですが、さくらとエックスサーバー、ロリポップ!のコンテンツキャッシュONでは100%返せていますが、他のモードでは惨憺たる結果です。やはりモジュール版とCGI版はパフォーマンスが雲泥の差でした。既存のさくらのCGIモードがモジュールモードの18%のパフォーマンスでしかないと考えると、価格が5倍になってもおかしくないアップデートと言えます。
availabilityが低いのは劣っていると思われるかもしれませんが、今回かけている負荷がかなり高めになっているため、普通にコーポレートサイトや個人のブログをやる分には問題ないと思います。現に、自分もロリポップ!やさくらでクライアントのサイトをホストしていますが、特に苦情は来ていません。
ロリポップ!のコンテンツキャッシュなしでモジュールモードの結果を見るとわかりますが、処理速度は著しく低下しているものの、応答率はそこまで低下していません。やはりモジュールモードは処理が一定以上で停止せずに、時間がかかっても処理するような流れになっているようです。大量アクセスがあったときもモジュールモードの方が安心というのはこのあたりですね。
数値上一番早いのはロリポップ!ですが、これはコンテンツキャッシュというキャッシュ機能を有効化した場合の数字です。キャッシュ機能はこの中では比べづらいと言うか、PHPの処理自体を行っていないので厳密に比較することができないのですが、ざっくり言うと一時的な仮置き場にファイルを置いといてそこから表示するのでPHPの処理をしていないという感じですね。mixhostではLightspeedキャッシュの機能がありますので、似たようなパフォーマンスを出せるかもしれません。
ロリポップ!のマニュアルによるとコンテンツキャッシュ機能のキャッシュ時間は10分とされていました。メリットはPHPのページも静的HTMLと同等に高速処理できることですが、デメリットとして更新が反映されなかったり、修正した内容が反映されないというものがあります。
そういったデメリットを納得できるならロリポップ!が最速ということになります。このあたり、色々細かく設定できないので割り切って使う機能になるかと思います。あと、デフォルトでONじゃないので注意です。
今回、さくらのプランは4月18日以降に申し込んだ人のみがスタンダードプランでもモジュールモードを利用できるそうです。旧プランではCGIモードしか利用できないので注意しましょう。プレミアム以上のプランはコントロールパネルからモジュール版を選択できるようになっているらしいので、これは今すぐやりましょう。
まとめ
前提として、今回はページのHTMLを出力する速度という観点でベンチマークをしてみましたので、実際にサイトをお客さんに公開するというところでは違う挙動になるかと思います。とは言っても、レンタルサーバ選びの1つの基準が結構大きく変わったのではないかと思います。
今回のさくらのレンタルサーバのアップデートはかなり大規模なもののようで、同時にHTTP/2やウェブサーバーのnginx化(.htaccessが使えているので、nginx→Apacheのリバプロ構成と思われます)などが実施されました。最近mixhostやJetboyといった新興が出てきたおかげか、さくらやロリポップ!と言った老舗でも機能追加が活発で目が離せません。
これまでアクセスの少ない個人用途はさくらやロリポップ!で、ちょっと大きめのサイトはエックスサーバーというのが定石でしたが、さくらやロリポップ!も500円プランでエックスサーバーのパフォーマンスに近いか超えている感じになってきました。
特にさくらのPHPモジュールモードは提供がデフォルトONというのが好感が持てます。何も知らないで使ってもWordPressが速く動くというのはいいことですね。コンパネもついにリニューアルされるらしいですし、これからに期待です。
スポンサードリンク