Akamai Diversity
Home > Web Performance > HTTP/2を活用するパフォーマンス最適化 Adaptive Acceleration

HTTP/2を活用するパフォーマンス最適化 Adaptive Acceleration

現在のWebサーバーへのアクセスは、非常に多岐に渡るエンドユーザー環境からのアクセスを受けます。そのため、それぞれのエンドユーザー環境に応じたコンテンツ配信が必要となり、その最適化はWebサーバーのコンテンツ提供者にとっては、非常に大きな負担となっています。その上、ユーザー要求、新たな技術、脆弱性などが次々に現れ、日々の業務に併せて、それらの対応もままならない状況になっているWebサーバー管理者の皆様もいらっしゃるのではないでしょうか。今回は、HTTP/2関連技術を用いて、簡単にWebサーバーのパフォーマンスの最適化を行える、Akamaiの最新のソリューションをご紹介したいと思います。

Akamaiを介して配信をすると、簡単にHTTP/2によるコンテンツ配信を実現することができます。

HTTP_2.png

Akamaiを介して配信を行い、HTTP/2をAkamai上で有効にすることで、オリジンサーバー側の変更なしにエンドユーザー向けにHTTP/2でのコンテンツ配信を実現することができます。HTTP/2を用いた配信を行うためには、クライアント側、Webサーバー側の双方がHTTP/2に対応している必要があります。HTTP/2に対応したClientに対してのみHTTP/2で通信を行い、HTTP/2に対応していないクライアントに対しては従来通りのHTTP/1.1での通信を行います。ただ、ほとんど全てのクライアントがHTTP/2の必須要件としてTLSアクセスを条件としているため、SSL証明書を用いたHTTPSでの通信が必須となります。SSL化を既に行っているWebサーバーの場合、影響は全くありませんが、SSL化の実現をされていない環境では、HTTPSでのコンテンツ配信ができる環境をご用意いただく必要があります。

HTTP/2の技術的メリットはこちらの記事でも記載されていますが、これまでも、Akamai上でHTTP/2を有効にすると、以下のHTTP/2の機能を有効活用することができました。

HTTP2_Benefit.png

Multiplexing、Binary Framing、Header Compression、Dependencies and Prioritizationは、Akamai上でHTTP/2を有効にしていただくだけで、すぐにそのメリットをご提供いただくことができていました。しかし、クライアントからのリクエストをなしにサーバーからデータをプッシュするServer Pushだけは実現ができていませんでした。これは、Akamai上でどのコンテンツをプッシュするべきかを決める手段がなかったことと、オリジンサーバーとAkamai間がHTTP/1.1での通信であるためオリジンサーバー側でプッシュするコンテンツを指定できても、それをAkamaiに伝達する手段がなかったことが大きなハードルでした。Akamaiのサイト配信の標準ソリューションであるIonが、本年の2月にバージョンアップされました。この新しいIon(正式リリース前はIon 3.0と呼んでいました)では、機械学習を用いてこのハードルを超えることができる最新技術が導入されています。

 新しいIonでは、Adaptive Accelerationという名称のBehaviorを設定することが可能になります。このBehaviorでは、大きな2つの最適化技術を有効化することができますが、その1つがServer Pushです。(もう一方の技術Preconnectについては、日を改めて記載したいと思います。)

AdaptiveAcceleration.png非常にシンプルなGUIです。Server Pushに関する設定は、上記の設定画面の上半分のみです。Automatic Server Pushで、Server Push機能の<On/Off>を設定、次にSystem Defaultsの設定を用いるかどうかを設定します。System Defaultを選択した場合、Akamaiの配信でReal User Monitoringと呼ばれる機能が有効になっている全てのページに対して、実ユーザー環境での振舞いデータに基づいた機械学習によりAkamai上でバックグラウンドでの解析と対象/タイミングの決定が行われ、その後、最適なタイミングでの最適なコンテンツのプッシュが行われるようになります。System Default <Off> とすることで、具体的なパス指定などで、Server Pushの対象外のページなどを設定することもできます。機械学習による自動的なチューニングになりますので、テストなどの確認を除き、作業工数を最小限に抑えつつ、HTTP/2の機能を活用することにより、パフォーマンスの最適化を実現いただくことが可能となります。解析と最適化方法の選定は、1日に数回の頻度で再計算され、コンテンツの変更などに関しても、柔軟に対応していくことができます。

以下に、適用時のコンテンツの読み込み時のイメージの変化例を並べてみます。

  • HTTP/1.1でのページ読み込み
  • HTTP11.pngHTTP/2 (Server Pushなし) のページ読み込み

HTTP2_withoutPush.png

  • HTTP/2 (Server Pushあり) のページ読み込み

HTTP2_withPush.png

HTTP/1.1での配信に比べ、下にいくにつれ、徐々にパフォーマンスが最適化されていく様子をご想像いただけると存じます。これらの技術はコンテンツの種類にはあまり依存しません。皆様のWebサーバーのコンテンツ配信でも、この新しい技術の適用ご検討いただき、最終的には有効活用をいただければと考えます。

 

 

 

Leave a comment