Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,467 views

Published on

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

Published in: Technology
  • Be the first to comment

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

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

×