Upgrade to Pro — share decks privately, control downloads, hide ads and more …

テクニックではなく、今、本気で取り組むべきWebパフォーマンス

 テクニックではなく、今、本気で取り組むべきWebパフォーマンス

民法債権法改正が国会で成立し、品質保証が請負やサービスなど、全てに適用されるようになります。私達が、普段、商品や食品に対して品質保証を求めるように、Webサイト制作や、Webサービスにも品質保証が要求されるのです。「自分達を損害賠償から守るために品質保証をしなくては」というよりも、「自分達の仕事の価値、提供するサービスの価値を高め、差別化するための品質保証」として積極的に活用しませんか?今まで、「テクニック」として語られる事が多かった「Webパフォーマンス」ですが、「品質管理」として本気で取り組みませんか?

このセッションでは、Webサイト制作や、Webサービスの現場で、DevOpsの三本柱の一つである「品質保証」を実行していくために必要な、Webパフォーマンス管理・改善に必要な基礎知識を解説します。
HTML5 Conference 講演資料

Yoichiro Takehora

September 24, 2017
Tweet

More Decks by Yoichiro Takehora

Other Decks in Technology

Transcript

  1. Webパフォーマンス計測ツール 200 0 200 1 200 2 200 3 200

    4 200 5 200 6 200 7 200 8 200 9 201 0 201 1 201 2 201 3 201 4 201 5 201 6 201 7 201 8 Keynote Systems(since 1995) Gomez Dynatrace Catchpoint Systems New Relic SOASTA ARGOS Pingdom Webpagetest SpeedCurve
  2. Webパフォーマンス計測市場規模 • Synthetic Monitoring (合成計測)のマー ケット – 2016年で推定919.2M ドル(約1102億円) –

    2021年までに2109.7M ドル(約2362億円)にな る見込み。 – 年18.1%の伸び http://www.marketsandmarkets.com/PressReleases/enterprise-synthetic- application-monitoring.asp
  3. 欧米だと普通に定常計測する • 24時間365日計測するのが当たり前 • Synthetic Monitoring (合成計測)がメイン – 統計的品質管理で重要なフィッシャー三原則 に基づく計測

    – 金が掛かる … ISPマーケットシェア、イン ターネット人口分布に基づく計測機器の設置 – Actionable Data(実行可能データ)の取得 • 改善に結びつく、ノイズが少ないデータの取得 • “garbage in, garbage out”(ゴミデータからはゴミ な結果しか出ない)
  4. 何故、計測するのか? • Webサイト運用の基本だから • インターネットの中は変わり続ける • 昨今のWebページには、サードパーティが大量に 入っている – 普通に20~30、多いと100ぐらい

    • 品質管理は、利益の源泉 – ストレートに言うと、品質管理をちゃんとやると 儲かる • 海外のWebサービスやSaaSだと、普通に、 年間数千万~1億円を計測サービスに使う
  5. 第一フェーズ ― 全数調査 ページに計 測用 JavaScriptの 実装 ページをカ テゴリ化し て層別で分

    析 データを、 都道府県や ISP、国別 で層別して 分析 遅延してい るページ、 ISPや都道 府県を把握 第二フェー ズの計画 目的:把握していない遅延を捉える
  6. Google PageSpeed Insightsの但し書き ただし、ネットワーク接続のパフォーマンスは大きく変動 するため、PageSpeed Insights では、ページのパフォー マンスのうちネットワークに依存しない部分(サーバー設 定、ページの HTML

    構成、画像やJavaScript、CSS など の外部リソースの使用方法)のみを考慮します。 提案された解決策を実装すれば、ページの相対的なパ フォーマンスは改善されるはずです。 ただし、それでも、ページの絶対的なパフォーマンスは ユーザーのネットワーク接続に左右されます。 https://developers.google.com/speed/docs/insights/about?hl=ja-JP
  7. システムの5つ基本要素 Function Point External Input (外部入力) External Output (外部出力) External

    Inquiries (外部参照) Internal Logical Files (内部論理 ファイル) External Interface Files (外部接続 ファイル)
  8. SSL Negotiation DNS Lookup Content Download Initial Connection First Byte

    Download Client Time 自社DNSサーバ 負荷 相手先 DNSサー バ負荷 DNS TTL DNS TTL DNS攻撃負 荷 接続負荷 Keep Alive設定 同時接続数 ページ滞留時 間 ページあたり のオブジェク ト数 ページあたり の容量 DNSラウンドロ ビン 暗号化方 式 瞬間鍵処 理能力 暗号化対 象 プログラミング言 語 型類 推 C P U メモ リ Webサーバ処 理時間 ハードウェア性 能 IOP S 動的生 成処理 サーバサ イド キャッ シュ DBサーバ処 理時間 DBタイプ ACID特性 データ量 データ モデリン グ Webサー バ MO D プロセ ス優先 度 ディスク接続方式(Fibre Channel, iSCSI, SATA) ファイルシス テム C P U ディスクアク セス 競合制御方式 ストレージ種別(SSD, HDD, Hybrid) パーティ ション サイズ 暗号強 度 ロバストネス 性 ディ スク 使用 量 キャッシュメモリ動作方式(Write Through, Write Back) Webブラウザの種 類 ブラウザキャッシュ 設定 キャッ シュ有効 期限 アクセ スパ ターン 圧縮配 信 事前圧 縮 C P U Web サ イ ト パ フ ォ ー マ ン ス DOM処理特 性 HTTP同時接続 数 独自実装 接続の順番 自社接続ドメイン 数 3rd Party接続ドメイ ン数 ネットワーク 状態 レイテンシ 経路 JavaScript 処理性能 HTMLドキュメン ト構成 HTML記 述 文法エ ラー divネスト構 造 DOMオブジェク ト数 ネットワーク 状態 帯域 経路 レイテンシ CSS定義構 造 読み込みファイル 数 Override定義 数 文法エ ラー SSL通信検査 JavaScript コード 処理効率 バグ含有 率 接続応答 性 複雑 度 接続方式 実装方 式 特性要因図 50
  9. 5Gネットワークの目玉 • ネットワークスライス • 指向性アンテナ(ビームフォーミング) • Mobile Edge Computing •

    Mobile Web/Applicationの全てを変える – 既存の技術(PWA、AMP)は、5G登場までの繋 ぎとなる