ウェブサーバーはブラウザを有利にするべきだとMITの研究者は主張する

Table of Contents

ウェブサーバーはブラウザを有利にするべきだとMITの研究者は主張する

Web のパフォーマンスを阻害するのは帯域幅ではなく、遅延と複雑さであり、MIT の研究者たちはブラウザがそれに追いついていないと考えています。

これを回避するために、彼らは、ページ オブジェクトが読み込まれる順序に重点を置く、Polaris と呼ばれるスキーム (Mozilla ブラウザー プライバシー プロジェクトとは異なる) を提案しました。

研究者たちの論文(PDFはこちら)は、今月後半に開催されるUsenixネットワークシステム設計・実装シンポジウムで発表される予定です。筆頭著者はMITの博士課程学生Ravi Netravali氏で、共著者は同じくMITのAmeesh Goyal氏とHari Balakrishnan氏、そしてハーバード大学のJames Mickens氏(2014年にMITの客員教授を務めていた際にこの研究に関わっています)です。

論文によれば、Web ページ上の依存関係をより詳細に理解することで、ネットワークとクライアントの CPU をより有効に活用し、ページの表示を高速化できるという。

広告サイト、トラッカー、そして画像やフォントを提供するサードパーティサービスによって、これらの依存関係は過去10年間で急増し、Weather.comのようなページには数十もの依存関係が存在するほどです。Netravali氏は、これらの依存関係は現在のブラウザでは見落とされがちだと主張し、彼と共同研究者たちは、どのようにしてすべての依存関係を捕捉できるかを研究してきました。

ナトラヴァリ氏はMITニュースに次のように説明した。

「ページの複雑さが増すと、複数回のアクセスが必要になることが多く、遅延が蓄積されていきます。私たちのアプローチは、この往復回数を最小限に抑えることで、ページの読み込み時間を大幅に短縮します。」

Polaris 依存グラフ

これらの依存関係がページの読み込みを遅くする原因です

画像:ネトラヴァリの論文より

ページの内容に関するこのはるかに完全な理解は、Scout と呼ばれるツールによって実現されます。Scout は、「JavaScript ヒープと DOM 全体のきめ細かなデータ フローを追跡します」(ドキュメント オブジェクト モデル – The Register )。

ブラウザが依存関係情報をどのように処理するかを決定できるようにするために、この論文では「JavaScript で記述され、変更されていないブラウザで実行される動的なクライアント側スケジューラである Polaris を紹介します。完全に自動化されたコンパイラを使用して、サーバーは通常のページを Polaris で自身を読み込むページに変換できます。」

論文では、そのポイントは、Polaris が「ネットワークの往復を最小限に抑えながら、オブジェクトを積極的に取得できる」ことだと説明されている。

論文はさらにこう続けている。「さまざまなネットワーク条件での実験により、Polaris はページの読み込み時間を中央値で 34%、95 パーセンタイルで 59% 短縮することが示されています。」

面倒な処理はサーバーサイドで行われるため、ユーザーは新しいブラウザを用意する必要はありません。Scoutは依存関係グラフを作成し、「スタブ」を未変更のHTMLとともにブラウザに送信します。スタブには、依存関係グラフのコピーと、ブラウザに必要なスケジューリングロジックが含まれています。

ポラリスの仕組み

Polarisはサーバー側の重労働を担う

画像: Netravaniの論文

適切なスケジュール設定は、Web サーバーから遠い場所にいるか、または高遅延のモバイル接続を使用しているために遅延の大きいリンクを使用するユーザーにとって特に重要です。

Polarisのメリットは、ネットワークレイテンシが増加するにつれて増大します。例えば、リンクレートが12Mbpsの場合、PolarisはRTTが25msのときに平均10.1%の改善をもたらします。しかし、RTTが100ms、200msに増加すると、Polarisのメリットはそれぞれ27.5%、35.3%に増大します」と彼らは主張しています。

Polaris は Weather.com、 New York Times 、ESPN.comを含む 200 のサイトでテストされたとのことです。®

Discover More