2014年10月21日火曜日

HTTP パイプラインでアセットの取得時間を短縮

先日ご紹介したセカンドライフで進行中のプロジェクトの中では、HTTP Pipelining Viewer がまだ公開されていませんでしたので、その内容を具体的にご紹介出来ませんでしたが、

セカンドライフで進行中のプロジェクト最新情報

先日、ようやく 、HTTP Pipelining Viewer がリリース候補版(Release Candidate)として公開されましたので、ご紹介します^^


HTTP Pipelining Viewer は、現在

Second Life HTTP Viewer version 3.7.18.295372

として、下記のページにて公開されています。

Linden Lab Official:Alternate Viewers - Second Life Wiki

リリース候補版(Release Candidate)ですので、公式版とほぼ同等の安定性があります。

ビュアーの見た目は、公式版と一切変わりません。
違いがあるのは、内部的なテクスチャーなどのアセットの取得の仕組みの部分です。


これまでのビュアーは、テクスチャーなどのアセットを、一つの接続毎に一つずつ順番に取得していました。


アセットの取得が快適に行われている場合はこれでも問題ないのですが、ネットワークの状況などによって一つ一つのやり取りに遅延が発生すると、やり取り全体もどんどん遅くなっていきます。


これを改善するために導入される技術が、HTTP パイプラインです。

HTTPパイプライン

HTTP パイプラインでは、ビュアー側からは一つの接続毎に複数の要求を出すことが出来るようになります。
またサーバー側も、アセットを一度にまとめて返すことが出来るようになります。


応答をまとめて行うようになりますので、従来のものに比べてやり取りの時間を短くすることが出来るようになります。


βグリッドの CDN のテスト環境にて実際の速度を計測した結果は、下記の通りです。

TextureTest CDN(CDN 配信の SIM)

■Second Life Viewer version 3.7.18.295539(公式最新版)

1 回目:1 分 43 秒
2 回目:1 分 38 秒
3 回目:1 分 33 秒

■Second Life HTTP Viewer version 3.7.18.295372

1 回目:2 分 3 秒
2 回目:1 分 24 秒
3 回目:1 分 32 秒

TextureTest SLS(従来の配信の SIM)

■Second Life Viewer version 3.7.18.295539(公式最新版)

1 回目:2 分 44 秒
2 回目:2 分 47 秒
3 回目:2 分 51 秒

■Second Life HTTP Viewer version 3.7.18.295372

1 回目:1 分 28 秒
2 回目:1 分 32 秒
3 回目:1 分 40 秒

従来のサーバー(SIM)では、HTTP Pipelining Viewer は従来のビュアーに比べて 1 分ほど早く読み込みが完了しています。

従来のサーバー(SIM)で CDN 並に早くなっているのと、CDN のサーバーでは HTTP Pipelining Viewer の効果がほとんど出ていないところが不思議なのですが…、

この時間には、

  • ログイン時間
  • 受け取ったアセットのディスクへの読み書き時間
  • 画面への表示時間

も含まれていますので(計測はログインボタンを押した時点から開始しています)、もしかしたら私の環境では、この辺が上限の値なのかもしれません。

また、CDN のサーバーはまだ導入段階で最適化が行われていないかもしれませんので、その辺の影響もあるかもしれません。

この辺は、実際に導入される段階で、もう一度確認してみたいですね。


それにしても、従来のサーバー(SIM)でも大きな効果が出るというところは、予想外でびっくりしてしまいました。

テクスチャーを一気に取得しますので、現状のままだと SIM の負荷が短時間に上昇してしまう可能性もありますが、CDN になればその心配もなくなりますので、

CDN + HTTP Pipelining Viewer

のセットで導入を行って欲しいですね。


ちなみに HTTP Pipelining Viewer では、持ち物の取得も HTTP パイプラインの技術を使って高速化されています。

Second Life Viewer version 3.7.18.295539(公式最新版)

7 分 2 秒

Second Life HTTP Viewer version 3.7.18.295372

1 分 13 秒

ベータグリッドで 17051 個のアイテムがある状態で、これだけの劇的な改善が見られました。

表示だけでなく、着替えや物づくりなど、様々なところで HTTP パイプラインの恩恵を受けそうです。

日本のようにネットワーク的に遠いところほど恩恵を受ける技術だそうですので、一日も早く導入して欲しいですね^^

このエントリーをはてなブックマークに追加

0 件のコメント:

コメントを投稿