Upload
-
View
2.171
Download
0
Embed Size (px)
DESCRIPTION
2014/7/29 開催・第19回ネットワーク パケットを読む会 (仮) の発表資料です。 当日利用したスライドに Excel での集計手順を追加しています。
Citation preview
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/
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 - ネットワーク パケットを読む会 ( 仮 )
Web サイト今昔昔 : 1 回ずつ読み込
んだら終わり今 : 何度でもサー
バーとやり取り
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 3
HTML
画像 JS CSS
HTML(SPA)
画像 JS CSS
XHR
画像画像 JSJS CSSCSS
WebSockets
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
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
TCP を大切に使おう ! TCP 1 セッションに複数の HTTP セッションを重畳すればいいんじゃない ? by Google
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 6
SPDY
SPDY で TCP セッション削減 同じオリジンへの HTTP リクエストが一つの TCP セッションに重畳される
ページの動作に必要な TCP セッション数が削減される
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 7
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
測定方法 各ブラウザーで Gmail を表示 リンククリックからページ表示終了まで Wireshark でパケットキャプチャ [Statics] – [Conversation List] – [TCP(IPv4 & IPv6)]
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 9
比較 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
結論 SPDY/3 で TCP セッションに HTTP (HTTPS) セッションが重畳されている TCP セッション数が削減されている
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 11
比較手順1. Wireshark から Conversation List をコ
ピー2. コピーしたリストをテキスト エディ
タに貼り付けて csv ファイルとして保存
3. csv ファイルを Excel で開く4. Excel で集計
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 12
Conversation List をコピー
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 13
[Copy] ボタンをクリック
csv ファイルとして保存
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 14
[ 名前を付けて保存 ]
csv ファイルを Excel で開く
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 15
Excel がインストールされていれば、 csv ファイルのダブルクリックで開く
Excel で集計 (1) 見やすくするため列幅を調整
◦ 調整したい列を選択、列見出しの境界線をダブルクリックで自動調整
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 16
Excel で集計 (3) 集計のために個数を数えるフィールド(ここでは Address B )でソートする1. Address B の列内のセルをクリック2. [ データ ] タブ– [ 昇順 ]
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 17
Excel で集計 (3)1. 集計したいセル範囲内をクリック2. [ データ ] タブ – [ 小計 ]
◦ グループの基準◦ Address B
( サーバー側エンドポイント )◦ 集計の方法
個数◦ 集計するフィールド
Address B
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 18
Excel で集計 (4)
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 19
アウトライン記号(赤囲)をクリックして折りたためます
Excel で集計 (5)
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 20
折り畳んで不要な列を非表示にし、列幅を調整すればTCP セッション数一覧表の完成
※ 集計の解除はもう一度 [ 修正の設定 ] を表示して [ すべて削除 ]
ピボット テーブルで集計 ピボット テーブルを使った集計も可能1. 集計したいセル範囲内をクリック2. [ 挿入 ] タブ – [ ピボット テーブル ]3. [OK] をクリック
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 21
ピボット テーブルで集計( 2 )
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 22
Address B を [ 行 ] にドロップ
ピボット テーブルで集計( 3 )
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 23
Port B を [ 値 ] にドロップ
ピボット テーブルで集計( 4 )1. [ 値 ] の [ 合計 /Port B] をクリック2. [ 値フィールドの設定 ] をクリック3. [ 集計方法 ] で
[ データの個数 ] を選択
4. [OK] をクリック
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 24
ピボット テーブルで集計( 4 )
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 25
TCP セッション数一覧表の完成
SPDY の現状とこれから HTTP/2 として標準化予定 SPDY/3 はメジャーなブラウザーの最新バージョンで既にサポート済み◦ Internet Explorer でも Windows 8 / 8.1 でサポート済み
Google のサイト以外に、 Twitter などでサポート済み
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 26
HTTP を刷新しよう HTTP 1.1 の次のバージョン 最初は HTTP 2.0 として検討 SPDY を基礎に標準化
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 27
HTTP/2
HTTP/2 TCP 1 セッションに複数の HTTP セッション ( ストリーム ) を重畳 バイナリ フレームの採用 HPACK によるヘッダー圧縮 サーバー プッシュ ストリームのプライオリティ設定
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 28
HTTP/2 の現状 IETF の Working Group で Last Call 今年中に IESG に提出予定 各ベンダーの実装と相互運用性検証は進んでいる ( サーバー / クライアントとも )
2014/7/29 © 2014 Murachi Akira - CC BY-NC-ND - ネットワーク パケットを読む会 ( 仮 ) 29