Comments
Transcript
The Great Mobile Slowdown ~モバイルサイト高速化の課題とは~
The Great Mobile Slowdown ~モバイルサイト高速化の課題とは~ by Ido Safruti, Cotendo あなたも東京や大阪など日本中のいろいろな場所で、人々が歩道 ブラウザはホスト名ごとに 6 つに分割したコネクションを利用するこ に立ってスマートフォンの画面を必死に見つめているのをよく見か とでこの問題を回避していますが、この方法は複雑さを生みオリジ けていることでしょう。それは動画を見ているのでしょうか?いえ、 ンサーバーとエンドユーザー端末の両方に負荷をかけてしまうため、 モバイルページが画面に表示されるのを待っているのです。 根本的な解決策ではありません。 しかも、表示速度が遅くて、なんとなくイライラしているように見受け られることでしょう。 有線ブロードバンドドネットワークの RTT は一般的に 10ms~50ms です。従って接続は常に早く、信頼性も高いのでオブジェクト配信 高速 Wi-Fi や自宅のブロードバンド接続環境では、インターネット接 に余分なオーバーヘッドがかかったとしても、あまり影響ありません。 続時間は 2 秒以下なのに、3G などの無線環境では 8 秒~10 秒く しかし、3G 回線や他のモバイル環境においては、モバイル端末と らいかかることもあるでしょう。しかも大都市のような便利な通信環 モバイルゲートウェイ間の RTT ですら、120ms-200ms もかかるのが 境を利用できる場所でも、多くのモバイルページ表示に 20 秒以上 一般的です。1 ページに含まれる何十ものオブジェクトを配信する かかってしまうこともめずらしくありません。これは無線基地局から ために多くのリクエストが発生し、遅延が複合的に積み重なってし の帯域が十分ではないことや、一度に多くの人々がアクセスするこ まい、結局画面が表示されるまでに何秒もかかってしまうことにな とだけが問題、ということではありません。 るのです。このようなことが起きると、ユーザーは待ち切れずに、接 モバイル通信の場合には、有線の時と比べて RTT(ラウンドトリップ 続するのを止めてしまうということにもなりかねません。 タイム=リクエストからレスポンスまでの時間)の大きいことが待ち 時間の長さの原因となっています。 TCP レイヤーにおいても、処理能力が RTT に大きく影響されてしま つまり、モバイル端末からモバイルゲートウェイの RTT は、自宅や います。これによって、TCP レイヤーより上位で処理されるデータリ 会社のようなブロードバンド回線と比べるとどうしても時間がかかっ クエストが更に遅くなってしまっています。 てしまうことが原因なのです。 モバイルページの読み込みがなぜ 15 秒以上もかかるのかというと、 モバイルユーザーはより早くページを表示させるために、バックボタ 従来の CDN がコンテンツ配信スピードを高速化し、このような遅延 ンを使って、ページを再読み込みします。これは遅い TCP コネクシ を最小化するという努力をしているにも関わらず、このような現象 ョンをいったん終了させ、新たな速いコネクションを確立させること は起こっていることなのです。モバイルサイトの作りを少し変更する を意味しています。しかし、言うまでもありませんが、これはページ だけでも、遅延をかなり減少させることができますが、以下に「なぜ 読み込みスピードを効率的に早くする方法としては有効な方法では モバイルコンテンツ配信がこんなに遅くなるのか」について説明し、 ありません。では、これは不必要な動作なのでしょうか? また Cotendo 社の CDN が「どのようにこの問題点を解決している ネットワーク帯域幅の問題は、データ配信を行う下層プロトコルの か」を 3 つの観点から説明していきましょう。 問題よりもはるかに少ないのです。ですから、ネットワークが混雑し ていなくても、モバイルデバイスが 8Mbps のスピードでサイト接続し 1. RTTを削減 ている場合、モバイルデバイスがブロードバンド接続でページを呼 もともと WEB の表示に使われる HTTP プロトコルは、ネットワークレ び出すよりも、かなり長い時間が必要となるということになります。 ベルでの RTT 遅延に大きな影響を受けますが、現状多くのデータ 送信は HTTP プロトコルを利用しているのが通常ですし、パスワー 2. HTTPパイプライン化 ドなどの入力をセキュアに行う場合に一般的な HTTPS 通信におい この HTTP の問題の改善策として、HTTP1.1 で対応された機能が てはさらに遅延が発生しています。 "パイプライン化"です。この機能は、クライアントはサーバーからの モバイルの HTTP 通信は 1 接続に対して、1 リクエストだけを処理し レスポンスを完全に受信する前に、1 つのコネクション中で次のリク ます。これがひとつのリクエストを処理する RTT の最小時間です。 エストを送信することができます。 つまり、レスポンスが完全に受信されるまで、次のリクエストが送信 "パイプライン化"では不必要な RTT を排除することにより、より効 されずにずっと待っているということです。 率的に1つのセッションを利用して接続を実現することができます。 この HTTP の仕様により、モバイルのような通信の場合は、待ち時 しかし、この方法にもいくつかの問題点があります。多くのブラウザ 間が通信の大半の時間を占めるということとなり、通信の効率性を がこの機能をサポートしていないことです。一部のサーバーやネッ 下げることとなります。 トワークプロキシもまた、この機能をサポートしていません。 本ドキュメントは、Cotendo 社が制作したホワイトペーパーを、同社の許可のもと日本ワムネットが和訳したものです -1- また、HTTP パイプライン化は連続するリクエストとレスポンスを順 ②画像の解像度を調節(AIC) 番に処理することはできません。ですから、ページを読み込むため AIC(Adaptive Image Compression=最適な画像圧縮)技術は、携 のレスポンスはリクエストと全く同じオーダーで送信されていなけれ 帯端末の許容量や処理能力、加えてネットワーク状態をもリアルタ ばなりません。つまり、結局は表示に時間がかかるオブジェクトが イムに判断して、適切な画像サイズに圧縮する技術です。これもモ 全体のコネクションを遅延させ、次のリクエストをブロックすることに バイル配信をいかに早くするかという課題への改善策として、 なってしまいます。 Cotendo 社が取り組んできたひとつの手法です。この技術を使うこ とで、CDN はその時々で画像の解像度を変換し、元画像と同じイメ ージデータを生成することができるわけです。 CDN ノードは端末タイプや画像リクエストの処理状況を判断して、 ウェブページや特定のモバイル端末のウェブアプリケーションを最 適化して、圧縮した画像を配信します。 【モバイルへのコンテンツ配信を高速化する】 Cotendo 社の”Mobile Acceleration”はエッジサーバーにコンテンツをキャッシュ することで、モバイルからのインターネットアクセスを飛躍的に高速化させます。 3. Cotendo社独自の対応策 ①SPDYとFEO Google が SPDY と呼ばれる新しいプロトコルの研究開発に取組ん でいます。このプロトコルは完全多重化送信を実現するもので、サ ーバーに push リクエストを動作させたり、ヘッダ圧縮を許可するな 【AIC(Adaptive Image Compression)動作イメージ】 どの、HTTP で現在欠けているレイテンシー削減技術を実現させる ことができるプロトコルです。Google の SPDY はオープンソースコー ③CDNエッジでの処理(ホールサイト高速化、Cloudlet) ドとして実装することができます。 モバイル配信の高速化をするもう 1 つの方法は、全ての配信をシン プルにスピードアップすることです。 SPDY は既に Chrome ブラウザに組み込まれており、将来的には何 サイト全体をアクセラレーションする(=ホールサイトアクセラレーシ 千万人もの人が利用すると予測されるスマートフォン用アンドロイド ョン)ということは、ウェブサイトにある静的・動的なコンテンツを含め OS にも組込まれる予定ですが、携帯電話機に SPDY が採用される て、全てのコンテンツを最適化するということになります。このサイト のはもう少し時間がかかりそうです。 アクセラレーション技術は、オリジンサーバーで圧縮されない一般 一方 Cotendo 社は、TCP レイヤーでの遅延が発生する問題に関し 的なコンポーネントや JavaScript、CSS も高速配信します。ホール て、ある特定ネットワーク状態での TCP を使ったコンテンツ配信を サイトアクセラレーションを行うことで、余分な遅延を削り取ることが 最適化するアルゴリズム(FEO=フロントエンドオプティマイズ)を開 できます。これはモバイルデバイスにスピード配信するためには、 発中です。これは TCP リクエストを改善し、TCP セッションのキュー 極めて重要なことなのです。 がたまって、どんどん遅延が大きくなるような一連の動作がおこら ないようにしています。Cotendo 社では、TCP リクエストプロセスに モバイルを使った消費者行動は、アプリケーションレイヤーでも多 かかる時間を減少し、複合的に起こるレイテンシーのインパクトを 様化してきています。モバイルの利用は、モバイル SNS や地域別 最小限にする新しい方法を開発中です。 のサービス(または端末の位置情報を使ったサービス)を利用した モバイル端末への Web ページの情報配信は、有線ブロードバンド コミュニケーションのような個人ベースのサービスの方向に伸びて ネットワークを使った PC やラップトップへの配信とは比べものにな います。それは誰もが身近な天気予報や交通情報のチェック、映 らないほど複雑です。 画の上映時間を見たり、というような利用方法なのです。 端末への接続が不安定なので、配信のための全ての負荷やエラ このような情報は、個々のプロフィールやその時の位置情報に基 ーの可能性が減少すれば、RTT が減り、コンテンツ配信は早くなる づきユーザー毎に違う内容のものなので、CDN のキャッシュには向 でしょう。つまり、ネットワーク接続性が低いと、有線環境で簡単に きません。従って、情報をリクエストしたユーザーは、キャッシュでな 配信できる画像でさえ、モバイルネットワークでは詰まって簡単に くオリジンサーバーに情報を取得しにいかなければなりません。 配信できないということになるかもしれません。 本ドキュメントは、Cotendo 社が制作したホワイトペーパーを、同社の許可のもと日本ワムネットが和訳したものです -2- オリジンサーバーから返ってくる全ての RTT が引き起こすページ読 このようにエッジ処理機能を持った次世代 CDN を利用することで、 み込みの遅さにしばしば悩まされることとなってしまいます。しかし オリジンサーバーに送られるウェブページ読込するために必要な 最近の CDN 技術として Cotendo 社では、ロジックの処理レベルで 膨大なリクエストははるかに減少するでしょう。むしろ、大半のリク 革新的な手法に取り組んでいます。 エストはネットワーク上にあるエッジサーバーに蓄積されたキャッシ ュを配信するようになるでしょう。 その 1 つ目の例としては、ロケーション(=場所)をキーとするような 処理ロジックを CDN が受け持つということです。これにより、モバイ ユーザーはモバイルコンテンツの配信がスピードアップするのを待 ルユーザーからのリクエストに、ユーザーにより近い場所(=キャッ ちこがれています。キャリアや CDN 事業者は、世界中でモバイル シュサーバー)から情報を返すことができるようになります。 端末にコンテンツを早く配信するための様々な新しい技術を開発し 例えば、天気情報サイトを例にとってみましょう。最初のユーザー 続けています。 がアクセスするとその GPS 情報で場所を特定して、アクセスユーザ ユーザーにより近い場所でビジネスロジックとコンテンツを持つよう ーがいる場所の天気情報をキャッシュします。また、数ブロック離れ にするなど、より優れたコンテンツのキャッシュ方法を開発していま た場所から別のユーザーがアクセスした場合、数ブロック程度の違 す。ネットワーク状態に合わせた TCP レベルでコンテンツ配信のや いでは天気情報が違わないことが多いので、今度は先ほどのデー り取りを最適化したり、圧縮によりファイルサイズを収縮したり、 タを利用し、新たにオリジンサーバーにアクセスせずキャッシュから HTTP では不可欠な RTT を削減するなどの様々な対策を施すこと 天気情報を配信することができます。 により、遅延を減少させ、モバイル端末からネットにアクセスするユ ーザーの使い勝手がよくなるように努力しています。 2 つ目の例としては、CDN 自身が端末タイプや携帯電話機メーカー のタイプからの要求を素早く検知し、適切な情報を適切なエッジサ これらの技術改善を普及させることは、様々なモバイルアプリケー ーバーから配信するという仕組みです。 ションのタイプや、新しいモバイルコンテンツアクセラレーションに最 これもロジックをよりユーザーに近い場所で処理することで、CDN も影響されるデータの利用パターン(動的情報・顧客別に違う情報・ 自身が、キャッシュできないこととキャッシュできることをより高いレ ロケーションを基にしたコンテンツアプリケーション)の進化に拍車 ベルで判別して処理することができるようになります。 をかけることとなります。 我々Cotendo 社は次世代型 CDN 事業者として、多くの新しい技術 を利用することにより、街角に立ってスマートフォンを利用している 人々がずっと画面をみつめてコンテンツが表示されるのを待ってい る、というシーンがなくなるようにしていきたいと願っています。 【Cloudlet(クラウドレット)】 CDNのエッジ側でプログラム処理を行うことで、コンテンツの高速配信と オリジンサーバー負荷の大幅削減を実現します。 従ってキャッシュできる種類を大きく増やすことができます。 従来の CDN は URL やファイル名だけでしかキャッシュすることがで 【内容に関するお問合せ】 きませんでしたが、次世代 CDN では端末の種類、ロケーション情報、 ネットワークの状態などのキーパラメータを利用して、それらに相応 日本ワムネット株式会社 営業部 しい情報をキャッシュすることができます。この手法によって、オリ 〒104-0033 東京都中央区新川1-5-17 パシフィックマークス新川9F TEL: 03-5117-2150 FAX: 03-5117-2155 Email: [email protected] Web: http://www.gigaccsecure.jp/acceleration ジンサーバーに問合せすることを省略できるので、オリジンサーバ ーまでの大きいレイテンシーを削減し、コンテンツ配信をスピードア ップすることでしょう。 本ドキュメントは、Cotendo 社が制作したホワイトペーパーを、同社の許可のもと日本ワムネットが和訳したものです -3-