Akamai Diversity
Home > Web Performance

Recently in Web Performance Category

HTTP/2への対応

先日HTTP/1.1の後継であるHTTP/2がRFC7540として公開されました。
  
HTTP/1.1から16年の時を経て公開されたHTTP/2には、これまでのWEBパフォーマンスの課題を解決する為の様々な機能が含まれています。今回はHTTP/2の新たな機能とAkamaiの対応状況についてご紹介します。

まずHTTP/2の機能に触れる前に、これまでのHTTPの変遷を簡単に振り返ってみます。


今日、企業の活動にはITが不可欠なものとなりました。

その中で、IaaS/PaaS/SaaSといったサービスや、HDのビデオ、HTTP/HTTPSのインターネット・イントラネット・モバイルアプリのトラフィックは急速に増加し、帯域の需要増は1年あたり20-50%に上ります。

しかしその一方、60%の企業のWANに対する予算は維持もしくは減少となっています。
また、地方拠点や支社、支店、店舗といったブランチのネットワーク帯域は、数Mbpsといった充分とはいえない帯域となっているケースも少なくありません。

Source: http://info.aryaka.com/rs/aryaka/images/SOE%20Report-Jan%202014-final.pdf


さらには、72%のブランチからのインターネットアクセスはデータセンターを経由しており、ブランチのユーザーからすると高遅延・低帯域な通信となってしまっています。

これらに起因する「遅い」アプリケーションは、従業員の満足度低下や売上機会の損失、外部顧客への応答性悪化としてビジネスに悪影響を及ぼしていきます。


Impactofslowpage.png

前回、そのNo-Storeコンテンツ、キャッシュ出来ませんか? - Part1 では、パーソナライズコンテンツであるがために No-Store設定としていたものに対し、キャッシュ設定をする方法について考えました。


キャッシュ設定が出来ないページには、その他にもNo-Store設定が必要となる理由が考えられますが、今回は更新が頻繁に行われるコンテンツ、いつ更新されるか予測できないコンテンツについて考えたいと思います。

残念ながら、多くの国内企業のWebサイトは遅いです。海外競合他社のWebサイトと比較すると負けているケースが多いです。端的に言うと CDN を使っていないからです。なぜCDNが必要なのかは、日本の外からは遅すぎるグローバルWebサイトを参照ください。

しかし、状況は徐々に良くなっています。オウンドメディアを強化し、グローバルに対して自社コンテンツをストレスなく配信しようという動きが活発になっています。ある国内製造業は新しいグローバル・キャンペーンを実施するにあたってCDNを採用しました。その Web サイトに対して複数の海外拠点からアクセスしたときのダウンロード時間を平均化したものが下図です。7 月に CDN を導入した後、ダウンロード時間が劇的に速くなっています。海外競合他社と肩を並べる、もしくは優位性を持った速度となっています。Web サイトのコンテンツには全く手を加えず、もちろんデータセンタのハードウエアなどのインフラにも全く手を加えず、CDN の効果だけでダウンロード速度が 5.3 秒から 0.4 秒と短縮されています。DNS の設定を一行変えるだけで、13 倍の速度向上を得ています。
before-after-global.png

弊社でお客様サイトのパフォーマンス計測をした際に、非常にアクセス数の多いページが No-Store に設定されている事が良くあります。
これは、そのページに対する全てのリクエストがオリジンサイドにフォワードされることから、オリジンインフラに大きな負荷を与えるだけでなく、レイテンシの増加によりエンドユーザーエクスペリエンスにも悪い影響を与える可能性があります。

キャッシュ設定が出来ないページには、No-Store設定が必要ないくつかの理由が考えられますが、アカマイプラットフォームを活用することで、この課題を解決しキャッシュヒット率を向上させる方法について考えたいと思います。
Eコマースサイトでアカマイサービスを利用頂いている、若しくは利用を検討頂いているお客様との会話で、モバイル(スマートフォンやタブレット等のデバイス)向けサイトに関わる話題が増えています。
内容は、モバイル向けサイトのトラフィックの伸び率や、RUM (real user monitoring) のデータを元に新しいモバイル向けサイトのインフラやデザイン検討など、特にスマフォ向けサイト配信最適化の相談が多いですね。
一方で、スマフォ向けのサイトのトラフィック量や PV は伸びているものの、未だ売上比率は高くないとの話をお伺いするケースが数件あり、気になったのでデータや記事を眺めてみました。
eMarketer-US-mcommerce-sales-2011-17-.png

Akamaiのキャッシュ/ブラウザのキャッシュ

以前にもアカマイのコンテンツキャッシュについてこのブログで紹介していますが、サイトの高速化やオリジンサーバリソースの節約(オフロード)といった対策を行う上で、キャッシュを制御することは非常に重要です。
ただ、コンテンツがキャッシュされる場所はアカマイのサーバだけではありません。アカマイに加えて他のキャッシュを制御することも重要になります。
今回はアカマイのキャッシュとブラウザのキャッシュの制御方法について解説します。

配信パフォーマンス向上技術 - SureRoute

エンドユーザーのページ表示速度への要求が高くなってきている昨今では、配信元のパフォーマンス改善に取り組んでいる方も多いのではないでしょうか。

しかし、配信元のパフォーマンスは改善したものの、エンドユーザーに届くまでのトータルで見てみると、期待通りのパフォーマンスの改善は見られなかったという経験はございませんか?

これは、インターネットの内部のパフォーマンスに影響を受けていることも原因の一つと考えられます。インターネットは独立したネットワークの集合体であり、効率良く通信を可能とする作りとなっていないためです。
例えば、ネットワークを経由していく際に
    • 非効率で遠回りなルートを経由してしまう
    • 混雑しているネットワークを経由してしまう
    • 経由する際のピアリングポイントがボトルネックとなってしまう
    • ネットワーク障害などにより経由することができない
など、様々な可能性が考えられます。
パケットロスによるスループットの低下などもパフォーマンスに影響を与える原因の一つです。また、これらは経路の距離が長ければ長いほど影響は大きくなってしまいます。
さらに、ネットワークに障害が発生した際には、パフォーマンス向上以前に、配信ができなくなってしまう問題も出てきてしまいます。

今回は、これらのインターネット内部の問題を回避し配信パフォーマンスの向上・配信の安定化を実現するための一つの技術である SureRoute をご紹介します。
2012年の時点で一般的なウェブサイトのサイズは2003年の11倍、1995年と比べるとなんと79倍という結果が出ています。
この状況でありながらもユーザーは更に快適なアクセスを要求しなかなか表示されないサイトを容赦なく閉じてしまう傾向にあります。
要するに数秒、それどころか数十分の一秒の差がユーザーがサイトをアクセスしてくれるか、つまり「売れる」か「売れない」かを左右する場合があります。
AkamaiのFEO(Front-End Optimization)はこの差に注目しお客様のウェブサイトを極限まで高速化し、1/10秒の世界で勝ち続けるためのノウハウとサービスを提供しています。

隠されたスピードのポテンシャルを引き出せ!Front-Endとは何か
コンテンツ配信やウェブアプリケーションの高速化を行う時、まず手をつけるのはおそらくHTMLの最適化やデータベースコールの減少などサーバー側、つまりバックエンドで行う事でしょう。
しかし残念ながらバックエンドはエンドユーザーが体感する配信速度の約10%にしか影響しません。これは例えどれだけ自社設備上でチューニングを行っても10%以上の劇的な変化は見込めないということを指しています。
その後データが自社設備から出て数々のネットワークを経由してインターネットを通過していくミドルマイル、エンドユーザー環境にデータが届きブラウザーでレンダリングされ表示されるまでのフロントエンドが体感速度の9割を占めている事になります。
このミドルマイルとフロントエンドを制覇する事ができれば大きな速度改善が見込め、ビジネス的にもプラスな影響を与える事ができます。
ただしソースコードやデータベースは手元にあるものなので調整しやすいのとは異なり、一般的に一度自社設備を出てインターネット空間に出て行ったものは制御できないと思われがちです。
Akamaiはこのポイントに注目し、普段ブラックボック状態であるフロントエンドの最適化メソッドを開発しお客様サイトのスピードのポテンシャルに挑み、周りより「一瞬でも早く」を目指しています。

4つのアプローチから成るFront-End Optimizationとは。。。
では、Akamaiはサイトのフロントエンドを最適化をどのように行っているのでしょうか。これは大きく分けて同時適用されている4つの画期的な方法から成り立っています。
・HTTPリクエスト回数の軽減
一つのページを表示させるにはベースとなるHTMLだけではなく画像や、CSS、JavaScriptなどのデータもリクエストする必要があります。これらは一つのページを正しく表示させるために必要なデータありながら別々のオブジェクトであるため別々のHTTPリクエストで処理される事になります。場合によってはリクエストしているオブジェクトよりHTTPリクエストを成立するためのオーバーヘッドの方がデータ量が多い場合さえあります。
Akamai FEOは複数のオブジェクトを一つのリクエストに収容したり、ローカルキャッシュを屈してリクエストの発生を抑えたり、小さなオブジェクトを直接HTMLに統合したり等の技術でこれを達成しています。
・データの軽量化
エンドユーザーへの一番分かりやすいボトルネックは使っているプロバイダーの接続速度、それともう一つがコンテンツの大きさです。前者は流石にAkamaiではハンドリングできませんが、後者はAkamaiの技術を使いスマートにデータを軽量化する事ができます。
例えば大きな画像を小さな画面の携帯端末に送る必要はありません。またHTMLやCSSファイルにある改行コードやホワイトスペースも動作的には全く不必要です。
このような不必要な部分をAkamaiアーキテクチャー内でトリミングしてからエンドユーザーに配信する事によって結果的に最小限のデータ交信で済むわけです。
・レンダリングの高速化
エンドユーザーが使っているブラウザーの性質を知る事によってAkamai FEOは様々な制約をオーバーライドする事ができます。
例えばブラウザーによってはダウンロード中はサイトのレンダリングを中断してしまうものや、同時期ダウンロード数に上限があったり、スクリプト実行中はダウンロードが一時停止してしまう等の制約がありますがHTMLを再コードする事によってブラウザー上で行われるタスクの優先順位を変更したり複数のサブドメインを使う事によって不必要なスクリプトの実行を抑えたり、ページを閲覧しながらリアルタイムでエンドユーザーに実際に見えている部分を優先的にレンダリングできるように設定したりできます。
・サードパーティーコンポーネントの最適化
最近のサイト運用に欠かせないのが広告やソーシャルメディアのウィジェット、サイト分析用スクリプトなどのサードパーティーコンポーネントです。
しかしお客様のサイトがどれだけ完璧にチューニングされていてもこのサードパーティーコンポーネントのレンダリングが遅ければ重大でボトルネックになりかねません。
ましては自社で管理しているコンテンツではないので直接手を加える事も不可能な状態です。
Akamai FEOのサードパーティーコンポーネント対策はこのようなコンテンツのレンダリングを自社コンテンツから一旦引き離す事によってエンドユーザーに届けたい内容をまずいち早く提供する事ができます。

ミドルマイル+フロントエンド=トータルソリューション
これまでAkamaiのソリューションは主にミドルマイルに集中してきました。
今では代表的なコンテンツをキャッシュするDynamic Site Deliveryや更にそれを高速化するDynamic Site Accelerator、客様のアーキテクチャーを脅威から守る様々なセキュリティーソリューション、冗長性を持たせたストレージサービスNetStorageなど、様々なサービスをお客様に提供してきました。
これにFEOが加わった事によりAkamaiはお客様のサイトをエンドユーザーにとってより早く、魅力的なものに変えて行くトータルソリューションを提供できるようになり、1/10秒を競うネットコマースの世界で戦っていく上でお客様の力強いパートナーとなる事を目指しています。

キャッシュ効率の上げ方 その2

可能な限り多くのコンテンツを可能な限り長い期間キャッシュする、ということが、アカマイのキャッシュ効率を上げるために重要なポイントです。

今回は、アカマイのキャッシュ効率を上げるための主な方法を紹介します。

1 2 3