29
SPDY の HTTP ののの ののののののの Murachi Akira aka hebikuzure This material provided by CC BY-NC-ND 4.0. See http://creativecommons.org/licenses/by-nc-nd/4.0/

SPDY/3 の HTTP 重畳効果を測定する

  • Upload
    -

  • View
    2.171

  • Download
    0

Embed Size (px)

DESCRIPTION

2014/7/29 開催・第19回ネットワーク パケットを読む会 (仮) の発表資料です。 当日利用したスライドに Excel での集計手順を追加しています。

Citation preview

Page 1: SPDY/3 の HTTP 重畳効果を測定する

SPDY のHTTP 重畳の効果を計測する

Murachi Akira aka hebikuzure

This material provided by CC BY-NC-ND 4.0. See http://creativecommons.org/licenses/by-nc-nd/4.0/

Page 2: SPDY/3 の HTTP 重畳効果を測定する

About me 村地 彰 aka hebikuzure  株式会社シーピーエス

http://www.murachi.net/ http://www.hebikuzure.com/ Microsoft MVP (Internet Explorer) Apr. 2011 ~

2014/7/29 2© 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 )

Page 3: SPDY/3 の HTTP 重畳効果を測定する

Web サイト今昔昔 : 1 回ずつ読み込

んだら終わり今 : 何度でもサー

バーとやり取り

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 3

HTML

画像 JS CSS

HTML(SPA)

画像 JS CSS

XHR

画像画像 JSJS CSSCSS

WebSockets

Page 4: SPDY/3 の HTTP 重畳効果を測定する

HTTP はステートレス 1 対のリクエスト – レスポンスで終了 HTTP 1.0 では HTTP セッションが終わると TCP セッションも終了 HTTP 1.1 で Keep-Alive が可能になる それでも TCP 1 セッションで HTTP 1 セッションしか収容できない

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 4

Page 5: SPDY/3 の HTTP 重畳効果を測定する

Modern Web =TCP Session Eater 1 ページを表示するだけなのにTCP セッション数が膨大になる TCP handshake のオーバーヘッド NAT セッションの枯渇 ? CGN (Carrier Grade NAT) はどうする ?

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 5

Page 6: SPDY/3 の HTTP 重畳効果を測定する

TCP を大切に使おう ! TCP 1 セッションに複数の HTTP セッションを重畳すればいいんじゃない ? by Google

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 6

SPDY

Page 7: SPDY/3 の HTTP 重畳効果を測定する

SPDY で TCP セッション削減 同じオリジンへの HTTP リクエストが一つの TCP セッションに重畳される

ページの動作に必要な TCP セッション数が削減される

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 7

Page 8: SPDY/3 の HTTP 重畳効果を測定する

TCP セッション削減を計測 環境 : Windows 7 SP1 ブラウザー :

◦ Google Chrome 36 (SPDY/3 サポート )◦ Internet Explorer 11 (SPDY 未サポート )

サイト : ◦ Gmail のトップページ

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 8

Page 9: SPDY/3 の HTTP 重畳効果を測定する

測定方法 各ブラウザーで Gmail を表示 リンククリックからページ表示終了まで Wireshark でパケットキャプチャ [Statics]  – [Conversation List]    – [TCP(IPv4 & IPv6)]

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 9

Page 10: SPDY/3 の HTTP 重畳効果を測定する

比較 googlehosted.l.googleusercontent.com

◦ 8 5⇒

googlemail.l.google.com◦ 5 1⇒

talkgadget.l.google.com◦ 7 1⇒

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 10

Page 11: SPDY/3 の HTTP 重畳効果を測定する

結論 SPDY/3 で TCP セッションに HTTP (HTTPS) セッションが重畳されている TCP セッション数が削減されている

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 11

Page 12: SPDY/3 の HTTP 重畳効果を測定する

比較手順1. Wireshark から Conversation List をコ

ピー2. コピーしたリストをテキスト エディ

タに貼り付けて csv ファイルとして保存

3. csv ファイルを Excel で開く4. Excel で集計

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 12

Page 13: SPDY/3 の HTTP 重畳効果を測定する

Conversation List をコピー

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 13

[Copy] ボタンをクリック

Page 14: SPDY/3 の HTTP 重畳効果を測定する

csv ファイルとして保存

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 14

[ 名前を付けて保存 ]

Page 15: SPDY/3 の HTTP 重畳効果を測定する

csv ファイルを Excel で開く

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 15

Excel がインストールされていれば、 csv ファイルのダブルクリックで開く

Page 16: SPDY/3 の HTTP 重畳効果を測定する

Excel で集計 (1) 見やすくするため列幅を調整

◦ 調整したい列を選択、列見出しの境界線をダブルクリックで自動調整

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 16

Page 17: SPDY/3 の HTTP 重畳効果を測定する

Excel で集計 (3) 集計のために個数を数えるフィールド(ここでは Address B )でソートする1. Address B の列内のセルをクリック2. [ データ ] タブ– [ 昇順 ]

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 17

Page 18: SPDY/3 の HTTP 重畳効果を測定する

Excel で集計 (3)1. 集計したいセル範囲内をクリック2. [ データ ] タブ – [ 小計 ]

◦ グループの基準◦ Address B

( サーバー側エンドポイント )◦ 集計の方法

個数◦ 集計するフィールド

Address B

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 18

Page 19: SPDY/3 の HTTP 重畳効果を測定する

Excel で集計 (4)

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 19

アウトライン記号(赤囲)をクリックして折りたためます

Page 20: SPDY/3 の HTTP 重畳効果を測定する

Excel で集計 (5)

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 20

折り畳んで不要な列を非表示にし、列幅を調整すればTCP セッション数一覧表の完成

※ 集計の解除はもう一度 [ 修正の設定 ] を表示して [ すべて削除 ]

Page 21: SPDY/3 の HTTP 重畳効果を測定する

ピボット テーブルで集計 ピボット テーブルを使った集計も可能1. 集計したいセル範囲内をクリック2. [ 挿入 ] タブ – [ ピボット テーブル ]3. [OK] をクリック

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 21

Page 22: SPDY/3 の HTTP 重畳効果を測定する

ピボット テーブルで集計( 2 )

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 22

Address B を [ 行 ] にドロップ

Page 23: SPDY/3 の HTTP 重畳効果を測定する

ピボット テーブルで集計( 3 )

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 23

Port B を [ 値 ] にドロップ

Page 24: SPDY/3 の HTTP 重畳効果を測定する

ピボット テーブルで集計( 4 )1. [ 値 ] の [ 合計 /Port B] をクリック2. [ 値フィールドの設定 ] をクリック3. [ 集計方法 ] で

[ データの個数 ] を選択

4. [OK] をクリック

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 24

Page 25: SPDY/3 の HTTP 重畳効果を測定する

ピボット テーブルで集計( 4 )

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 25

TCP セッション数一覧表の完成

Page 26: SPDY/3 の HTTP 重畳効果を測定する

SPDY の現状とこれから HTTP/2 として標準化予定 SPDY/3 はメジャーなブラウザーの最新バージョンで既にサポート済み◦ Internet Explorer でも Windows 8 / 8.1 でサポート済み

Google のサイト以外に、 Twitter などでサポート済み

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 26

Page 27: SPDY/3 の HTTP 重畳効果を測定する

HTTP を刷新しよう HTTP 1.1 の次のバージョン 最初は HTTP 2.0 として検討 SPDY を基礎に標準化

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 27

HTTP/2

Page 28: SPDY/3 の HTTP 重畳効果を測定する

HTTP/2 TCP 1 セッションに複数の HTTP セッション ( ストリーム ) を重畳 バイナリ フレームの採用 HPACK によるヘッダー圧縮 サーバー プッシュ ストリームのプライオリティ設定

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 28

Page 29: SPDY/3 の HTTP 重畳効果を測定する

HTTP/2 の現状 IETF の Working Group で Last Call 今年中に IESG に提出予定 各ベンダーの実装と相互運用性検証は進んでいる ( サーバー / クライアントとも )

2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 29