ロリポップ!が、2018年3月26日にサイトの表示などを高速化する「コンテンツキャッシュ機能(β版)」の提供を開始しました。
ロリポップ!による、実環境でのベンチマークテストでは、WordPress サイトにおいて、従来の環境の 24倍のパフォーマンスの改善が見られたとのこと。
※ユーザーへ実際に提供しているサーバー環境において、1秒間あたりに処理することができる「http リクエスト(閲覧者のブラウザから Webサーバーへ投げる「サイトのデータを送ってください」という要求)」の数の比較
これは非常に期待できそう、ということで、早速このコンテンツキャッシュ機能のパフォーマンスを独自に調査してみたところ、驚異的なパフォーマンスの向上が見られました。
今回は、ロリポップ!の「コンテンツキャッシュ機能」の概要と、実際に測定したパフォーマンスデータの説明をしていきたいと思います。
コンテンツキャッシュ機能で何が変わる?
今回ロリポップ!で導入された「コンテンツキャッシュ機能」の「コンテンツキャッシュ」には、こんな意味があります。
「キャッシュ」=「記憶装置に蓄えて高速化する」
そして、この機能には主に以下のようなメリットがあります。
- Webサイトを高速、かつ安定して表示できる
- サーバーの負荷を軽減できる
今世界中で最も利用されている CMS(コンテンツマネジメントシステム)は、 WordPress ですが、この WordPress は閲覧者からリクエストが行われると、その都度サイトのデータを構築して送り返します。
毎回サイトを構築する時間が必要なため、その分表示が遅くなること、またリクエストごとにサイト構築の処理を行う分だけ、サーバーにも負荷がかかる、といったデメリットがあります。
しかし、このキャッシュ機能では、あらかじめ生成したサイトのデータを、Webサーバーとは別の「コンテンツキャッシュサーバー」に記録しておきます。
コンテンツキャッシュサーバーは、すでに生成されているデータを閲覧者に送り返すだけなので、行う処理が少なくて済みますし、閲覧者もサイトのデータをより速く受け取ることができるため、高速な表示ができるようになる、というわけです。
ロリポップ!のコンテンツキャッシュ機能で利用できるのは、WordPress などの CMS のデータをキャッシュする「WPキャッシュ」機能と、静的な HTML サイトの画像などの一部データのみをキャッシュする「静的キャッシュ」機能の二つです。
なお、メリットの大きいコンテンツキャッシュ機能ですが、WordPress でサイトを加筆修正したり、新しいページを作成した場合に、すぐにデータが反映しない(コンテンツキャッシュサーバーに変更内容が反映するまで時間がかかる)といった、ちょっとしたデメリットもあります。
ただ、この点については、キャッシュサーバー上のデータを削除することができるので、サイトの修正が終わり次第、キャッシュサーバーのデータを削除すれば、すぐに新しいサイトの情報を反映することができます。
コンテンツキャッシュ機能の操作はワンクリックで超簡単
ロリポップ!のコンテンツキャッシュ機能は、完全に無料で、また非常に簡単に設定できます。
設定方法は、ロリポップ!のサーバー管理画面から該当するサイトの機能を ON にするだけです。
このコンテンツキャッシュ機能は、エンタープライズ・スタンダード・ライトの各プランで利用できます。(データベースが利用できないエントリープランは対象外)また、現在はまだベータ版の提供のみで、正式版のリリースは 4月下旬以降の予定です。
今回実施した測定条件の詳細
次に、コンテンツキャッシュ機能のパフォーマンスの測定結果を見ていきたいと思いますが、まずは測定した条件を以下に記載しておきます。
項目 | 詳細 |
---|---|
利用プラン名 | エンタープライズプラン (「WPキャッシュ」をON) |
WordPress のバージョン | ver.4.9.4 |
WordPress のテーマ | Twenty Seventeen |
WordPress プラグイン | WP Multibyte Patch / Akismet / Hello Dolly |
コンテンツ内容 | WPテーマユニットテスト (すべてのコンテンツをトップページに表示した状態) |
測定ツール | monitis 測定元サーバー(東京) |
測定期間 | 7日間 |
測定内容 | httpリクエストへの応答状況(60秒毎) ページ表示速度(20分毎) |
測定条件 | 同一サーバー内に比較用の2つの WordPress サイトを設置し、データを比較 サイト1. キャッシュ機能なし(ロリポップ!初期ドメイン) サイト2. キャッシュ機能あり(独自ドメイン) |
プラグインに関しては、WordPress をインストールした際に導入済みのもので、それ以上の意味はありません。(Hello Dolly なんかは、ほとんど意味のないプラグインなので)
コンテンツは、WPテーマユニットテストというデータを利用しています。テキストの量もほどほど、画像や Youtube なども貼り付けられているので、割と実際のブログなどに近いデータ量だと思います。
Webサーバーの応答速度には圧倒的な差が!
まず、Webサーバーの応答速度(httpリクエスト)について見てみましょう。
少し見づらいのですが、上がコンテンツキャッシュ機能を使用しなかった場合の応答状況、下がキャッシュ機能利用時の応答状況です。
実際は左の目盛の幅が違うので、全く同じではないのですが、パッと見で「キャッシュ機能ON のほうが速い」、というのはわかるかと思います。
実測データを表にすると以下の通りです。
コンテンツキャッシュ機能 | 応答なし回数 | 平均応答速度 | 最速 | 最遅 |
---|---|---|---|---|
キャッシュOFF | 0 | 370.4 | 256.0 | 2267.0 |
キャッシュON | 1 | 58.7 | 4.0 | 7127.0 |
差分 | -1 | +311.7 | +252.0 | -4860.0 |
※単位は「ms」(ミリ秒) ※無断転載禁止
当サイトで検証している、個人向けサーバーの平均応答速度が、500msくらいなので、キャッシュなしの平均応答速度 370ms は、もともと比較的よい数値です。
そして、キャッシュ機能ON での最速応答速度は 4.0ms、平均応答速度でも 58.7ms になりました。よりパフォーマンスの高い他社を含めても、通常最速の応答速度が 160ms くらいなので、これはかなり驚異的な速度と言えるでしょう。
※他社のデータは、OFFにできないもの以外のキャッシュ機能の利用なしの結果
キャッシュON 状態では、サーバーからの応答がなかった(おそらくレスポンスが遅かった)ことが 1度発生したことと、応答が遅いケース(「最遅」の値)ではキャッシュOFF よりもかなり遅くなっているのが気になるところですが、平均速度が圧倒的に速いので、それほど気にはならないレベルかと思います。
WordPress の表示速度の比較
続けて、このキャッシュ機能が WordPress の実際の表示速度にどれくらい影響があるのかを確認してみましょう。
こちらも左の目盛幅が同一ではないのですが、上がキャッシュOFF、下がキャッシュON時のデータで、全体的にキャッシュありのほうが速い、というのがわかると思います。
平均データなどを表にすると、以下の通りです。
コンテンツキャッシュ機能 | 平均表示時間 | 最速 | 最遅 |
---|---|---|---|
キャッシュOFF | 2.2 | 1.4 | 7.0 |
キャッシュON | 1.8 | 1.2 | 13.3 | 差分 | +0.5 | +0.2 | -6.3 |
※単位は「s」(秒) ※無断転載禁止
当サイトで検証している個人向けサーバーの平均表示時間は、約 2.0秒なので、キャッシュOFF では、ほぼ平均値ですが、キャッシュありでは 1.8秒と 0.5秒も縮まっており、他社を含めた最速値と同じ水準になりました。
キャッシュなしでもある程度速いため、0.5秒縮まったといっても、すごく速くなったという実感はないと思いますが、十分な結果だと思います。
ただ、やはりこちらも最遅データは、キャッシュOFF 時の 2倍近くになってしまっていますので、そこは少し気になりますね。
まとめ
以上の通り、ロリポップ!の「コンテンツキャッシュ機能」は、サイトの高速化に非常に有効だということがわかりました。
ただ、懸念点としては、時々発生する「ブレ」ですね。
これは、ロリポップ!に限らず、他社のキャッシュ機能や WordPress のキャッシュプラグインなどを利用した際でも見られる現象なので、ある意味仕方ないかもしれません。
このキャッシュ機能は、サイトの高速表示だけではなく、サーバーの負荷を大幅に減らせるメリットもありますので、特にアクセスの多いサイトには、かなり役に立つ機能です。
また、コンテンツキャッシュサーバーを利用する方法にも色々ありますが、現時点では別途契約や支払いが必要になることが多いので、無料、かつ簡単な操作で設定できるロリポップ!の「コンテンツキャッシュ機能」は、初心者でも有効活用できるオススメのサービスです。