HTTP/2対応のMixHost!ウェブサイトのレスポンスは向上するのか?

MixHost(ミックスホスト)はウェブサーバーに「LiteSpeed」を採用しています。LiteSpeedの特徴はApacheとの完全な互換性と高い処理性能です。(現在のところ)知名度は低いかもしれませんが、Apacheはもちろん、最近採用例の多いNginxよりも処理速度が優れると言われています。第4の勢力として今後の普及が期待されているウェブサーバーです。

LiteSpeedは標準で「HTTP/2」に対応しており、サイトの構成にもよりますが「HTTP/1.1」よりレスポンス速度が向上します。すでにGoogle、Twitter、Facebookなどの大手サイトではHTTP/2が採用されてします。

MixHostは国内初のHTTP/2対応のレンタルサーバーであり、圧倒的なコストパフォーマンスの高さから、非常におすすめ度の高いサービスとなっています。

HTTP/2とは

現在主流のHTTP/1.1を置き換えるために策定されたインターネット用プロトコルです。「プロトコル」は手順や手続きのことです。簡単に説明すると、パソコンやスマートフォンとウェブサーバーとの「データ転送の約束事」を決めたものです。例えば、「index.html」を取得するために、サーバーに接続する方法、データを要求する方法、などの手順が決められています。この手順に従うことで、様々なウェブサイトに問題なくアクセスできるようになってます。

プロトコルの細かい仕様を説明しても切りがありません。HTTP/1.1とHTTP/2をウェブサイト運営者の目線で比較してみましょう。

HTTP/1.1は一つの接続(コネクション)で一つのファイルを取得します。取得し終えるまで次のファイルを取得することはできません。これでは多くのファイルで構成されるウェブページの表示に時間がかかります。

そこで、ほとんどブラウザでは複数のコネクションを利用して、同時に複数のファイルを取得しています。複数のコネクションを使うことで取得時間が短縮され、結果ウェブページの表示が速くなります。

ここでは、2本のコネクションを例としていますが、ChromeやFirefoxは同時に6本のコネクションを使用します。これ以上を使用することもできますが、サーバーに負荷がかかり過ぎるため6本が上限となっています。

しかし、複数のコネクションを使用しても、取得し終わるまで次を取得できないことに変わりはありません。上図のように全てのコネクションが巨大な画像取得に使われると、それらが終わるまで他のファイルを取得できません。

主流ブラウザの6本という上限は一つのサイト(ドメイン)に対するものです。

そのため、複数のウェブサーバー(ドメイン)にファイルを分散させることで、ウェブページの表示速度を向上させる手法も主流となっています。ドメインを分散させることで、同時接続数(コネクション)を増やすことができます(6本×ドメイン数)。

さらに、無駄なコネクションを減らすために、CSSやJSを一つのファイルにまとめたり、アイコンなどの小さな共通イメージをCSSスプライトと呼ばれるテクニックでまとめたりする方法も採用されています。

HTTP1.1の欠点を解決するために策定されたのがHTTP/2です。HTTP/2では一つのコネクション内にストリームと呼ばれる、仮想的な転送経路を複数作ることができます。つまり、一つのコネクションで複数のファイルを同時に取得できます。サーバ側の設定に依存しますが、HTTP/1.1の6本(コネクション)より大幅に同時取得数(ストリーム)が増えます。

サイズの大きいファイルの取得に時間がかかっても、HTTP/1.1のように他のファイル取得がブロックされることもありません。さらに大きなファイル取得にネットワーク帯域が占有されないような制御も行われます。

サーバーに対するコネクションが一つなので、サーバーの負荷が軽減されるメリットもあります。

ウェブブラウザでの挙動

従来のHTTP/1.1対応ウェブサイトの場合、最大6本のコネクションが同時に使用されていることが分かります。HTTP/2と比較するとファイルの取得タイミングにばらつきがあります。

HTTP/2対応ウェブサイトの場合、使用するコネクションは1本だけです。一つのコネクションで複数のファイルを同時に取得していることが分かります。HTTP/1.1と比較して非常に効率的です。

HTTP/1.1とHTTP/2との比較

実際にMixHostにHTTP/1.1対応サイトとHTTP/2対応サイトを配備して比較してみましょう。いつもhostingstockで実施している測定方法はHTTP/2に対応できていないため、Electronを利用しています。定期的にウェブページを更新させ、ファイル取得とページ表示を合わせた時間を測定したものです。キャッシュは無効にしています。

  • WordPressサイト(テーマ/Twenty Fourteen)
  • 測定期間は24時間(1分間隔)、同時に実施しています。
  • テキスト(40KB)と画像8枚の記事
  HTTP/1.1 HTTP/2
有効測定 1,439回 1,440回
棄却検定除外 0.28% (4) 0.83% (12)
棄却検定閾値 2.00秒 1.74秒
エラー 0% (0) 0% (0)
3秒以上 0.07% (1) 0.07% (1)
中央値 1.18秒 1.09秒
平均値 1.23秒 1.12秒
ばらつき/標準偏差 0.17秒 0.13秒
変動係数 13.8% 11.6%

平均値はHTTP/1.1が「1.23秒」、HTTP/2が「1.12秒」とレスポンス速度が改善されています。t検定による有意差(p<0.01)を確認でき、まったく同じウェブサイトであっても、HTTP/2対応でレスポンス速度が有意に向上することが分かります。

測定対象のコンテンツは非常にシンプルですが、それでもHTTP/2の効果を確認できます。ファイル数が多いサイトなら、より高い効果を得られるでしょう。

ただし、この測定のような効果を得るには、同じドメイン(サイト)にファイルがあることが前提条件となります。

個人でウェブサイトを運営する場合、コストや手間の問題もあるため、わざわざ複数のドメインにファイルを分散させることはないでしょう。全てのファイルを同じサーバー(ドメイン)に配備する通常のサイト運営なら、HTTP/2の恩恵は大きくなります。

反対に、他ドメインへのアクセスには別のコネクションが必要となるため、多くの外部ドメイン(サーバー)に依存するサイトはHTTP/2の恩恵が小さくなります。

MixHostのHTTP/2

HTTP/2の意味が分からなくても気にする必要はありません。主要なウェブブラウザはすでに対応しています。MixHostでのサイト運営者がHTTP/2対応のためにするべきことはたった一つです。

MixHostでHTTP/2を有効にするにはウェブサイトをSSL(HTTPS)化するだけです。それだけでHTTP/2が機能します。

MixHostはSSLサーバー証明書(COMODO社ドメイン認証タイプ)を標準装備としていて、URLの「http://」を「https://」に変更するだけでSSLが適用されます。面倒な作業や手続きは不要です(もちろん、内部リンクを「https://」に変更する必要はあります)。さらに、証明書を無制限に使用できるため、全てのサイトを基本料金だけでSSL化できます。

大手検索エンジンもSSL対応サイトの評価を優遇すると公表しています。特にアフィリエイトサイトなど、訪問者を増やすことを目的としたサイトなら、基本料金だけでSSLサーバー証明書を無制限に使用でき、HTTP/2にも対応するMixHostはおすすです。

関連記事

BLOG

UPDATE