More Related Content Similar to Webサイトパフォーマンス管理の基礎知識 (20) More from Yoichiro Takehora (13) Webサイトパフォーマンス管理の基礎知識2. 自己紹介
株式会社Spelldata 代表取締役社長、Catchpoint Systems日本代表
ACM(Association for Computing Machinery)会員
CMG(Computer Measurement Group)会員
ISACA(Information Systems Audit and Control Association)会員
日本統計学会賛助会員
html5j パフォーマンス部部長
統計学を基礎から学ぶ! 中西塾主催
Webサイトパフォーマンスに関係する仕事を始めて、もう13年目
やってきた事
VMware … 日本人初のVCPトレーナー
Akamai … プロフェッショナルサービス
Verizon Business … プリンシパルコンサルタント
Keynote Systems … 日本代表
13. Webサイトに期待するもの
Webサイトに期待すること 1 2 3 4 サンプ
ル数
平均レート
コンテンツの新しさや更新頻度 39%
400
29%
295
19%
191
13%
127
1,013 2.04
パフォーマンス
(バッファリングなしで、動画再生、
ページの読み込みが速い等)
52%
523
26%
266
9%
87
14%
137
1,013 1.84
モバイルサイトとデスクトップサイト
の体験が同一であること
20%
205
27%
274
35%
356
17%
177
1,012 2.50
パーソナライズされたコンテンツ 12%
117
18%
182
26%
259
44%
447
1,005 3.03
Limelight Networks
http://img03.en25.com/Web/LLNW/%7Bb97f8e45-2370-4f4b-8c8e-fa4141051c72%7D_2014StateoftheUserExperience.pdf
19. ヴェーバー ― フェヒナーの法則
精神物理学
ヴェーバー ― フェヒナーの法則
心理的な感覚量(心理量:R)は、物理的な刺激の量(物理量:S)の対数に比例
する
𝑅 = 𝑘log10 𝑆 (kは感覚定数)
23. New Scientistの記事
ミネソタ大学のGeoffrey Ghose
とBlaine Schneiderの研究発表
(2012年10月30日)
ニューロンの活動が活発である
と、時間感覚が伸びる
逆にストレスを感じているときは、
アドレナリンがニューロンの活
動を妨げるため、時間感覚が
速くなる
http://www.newscientist.com/article/dn22446-brain-circuits-run-their-own-clocks.html
45. 計測の仕方
Last Mile First MileMiddle Mile
web server
エンドユーザ
NTT
KDDI
エンドユーザ
1次ISP
RUM (Real User Monitoring)
Synthetic Monitoring
Server-side Monitoring
46. 各計測の補完関係
計測種別 長所 短所
サーバサイド計測
(Server-side Monitoring)
インターネットの影響を受けていない
Webサーバ本来の表示速度を計測で
きる。
サードパーティーコンテンツ、インター
ネットの通信状況の影響が見られない。
合成計測(Synthetic Monitoring) インターネットの影響を受けた、ISP毎
の表示速度を計測できる。
実験計画法に基づいた計測により、問
題点を特定する事が可能。
計測対象ページ以外については、
データが得られない。
リアルユーザ計測
(Real User Monitoring)
エンドユーザが体験している表示速度
を取得することが可能。
エラー率が分からないので可用性分
析には使えない。
エラーになったユーザのデータは取得
出来ない。
実験に介入できていないので、因果関
係の証明はできない。
表示速度に関わる変数が非常に多く、
それらの数値が得られないため、品質
管理では使えない。
48. お勧めの計測手法 ― 合成計測
統計的品質管理で重要な「実験計画法」に基づいた計測
Actionable Data(実行可能データ)が取得できる
数学的に証明が可能
51. The Art of Computer Systems Performance Analysis
Techniques for Experimental Design, Measurement, Simulation, and
Modeling
米国ワシントン大学をはじめとして、コンピューターシステムのパフォーマンス計測
についての定番教科書
84. 数値による要約
平均値 標準偏差 四分位
範囲
0% 25% 50% 75% 100%
大阪
Azure
1120.98 463.01 287.00 698 907 1008 1194 7965
東京
AWS
839.68 385.50 145.25 533 712 771 857.25 6184
東京
KDDI
921.90 548.69 131.00 551 802 865 933.00 18545
東京
NTT
844.77 372.71 115.00 539 738 789 853.00 7725
N=2121
90. 1. 計測計画の立案
主要動線でのページ遷移計測
ユーザ体験としての始めから終わりまでの時間としてのパフォーマンスを計
測する
分散の加法性
トップページ→商品検索→商品詳細→カート→決済という、5ページの遷移がある場合、
この動線の平均とばらつきは、各ページの平均やばらつきを合計したものとなる
制約条件の理論(TOC: Theory of Constraints)
A chain is only as strong as its weakest link.
主要動線が分からない場合
トップページ〜システムの特性が分かりやすい
RUMで計測して、全体を把握してみる
92. 2. データの収集
エラー率をまず把握する
繋がらないのが、最も悪い現象
10秒以上かかっている場合は、エラーと同じと見なす
ユーザーは離脱してしまう
各種測定タグを入れていても、データを取得できないことが多い
全てのページを計測する必要はない
「テンプレート」と「サーバ構成」で考える
測定の単位を決める
1日単位の場合、最低でも1時間に1回の計測→24の標本を得ることができる
時間単位の場合、最低でも5分に1回の計測→12の標本を得ることができる
最低でも3日は計測する
普通は、2週間以上計測する
日次パターン、週次パターンを把握するため
月次パターンを把握するためには、3ヶ月以上計測する
93. 3. データの分析
全体から部分へと降りていく
たまたまなのか、よくあることなのかを判断
パターンを把握する〜外れ値と思っても、実はパターンであることが多い
下のレイヤーから上のレイヤーへと分析を進める
ネットワーク→ハードウェア→OS→アプリケーション→HTML, CSS, JavaScript
ここ7〜8年の傾向として、サードパーティーコンテンツが遅延要因に
なっているので、サードパーティーと交渉するための証拠としての
データが必要
100. 4. 問題の解決
動線のページ遷移中のWeakest Link(一番遅いページ)から解決す
る
パレートの法則で改善する
「何かを加える」のではなく、「何かを減らす」考え方が大事
KISS(Keep It Simple, Stupid!)の法則
デザインの語源は「削る」という意味である。不要なものを消して、最適なも
のを選ぶことだ。けっして「足して飾る」ことではない。(森 博嗣)
連動性を考える
画像を減らす→HDDのアクセスが軽減される
Cache-Control Headerを設定する→If-Modified-Sinceリクエストが減る→ネッ
トワークが楽になる(Self DoS攻撃)
本質的な情報だけを残す→ビジネスモデルや、セールスモデルの見直し
影響の範囲を考える
DNSのTTLを短くする→DNSサーバの負荷が上がる、携帯網のDNSの負荷が
上がる
102. SSL NegotiationDNS Lookup
Content
Download
Initial
Connection
First Byte
Download
Client Time
自社DNSサーバ
負荷
相手先DNS
サーバ負
荷
DNS TTL
DNS TTL
DNS攻撃負
荷
接続負荷
Keep Alive設定
同時接続数
ページ滞留時
間
ページあたりの
オブジェクト数
ページあたりの
容量
DNSラウンドロビン
暗号化方
式
瞬間鍵処
理能力
暗号化対
象
プログラミング言語
型類
推
CP
U
メモリ
Webサーバ処
理時間
ハードウェア性
能
IOPS
動的生
成処理
サーバサイ
ドキャッシュ
DBサーバ処
理時間
DBタイプ
ACID特性データ量
データ
モデリング
Webサー
バ
MO
D
プロセ
ス優先
度
ディスク接続方式(Fibre Channel, iSCSI, SATA)
ファイルシステ
ム
CP
U
ディスクアクセ
ス
競合制御方式
ストレージ種別(SSD, HDD, Hybrid)
パーティショ
ン
サイズ
暗号強
度
ロバストネス
性
ディス
ク
使用
量
キャッシュメモリ動作方式(Write Through, Write Back)
Webブラウザの種
類
ブラウザキャッシュ設
定
キャッ
シュ有効
期限
アクセス
パターン
圧縮配
信
事前圧
縮
CP
U
Web
サ
イ
ト
パ
フ
ォ
ー
マ
ン
ス
DOM処理特
性
HTTP同時接続
数
独自実装
接続の順番
自社接続ドメイン
数
3rd Party接続ドメイン
数
ネットワーク状
態
レイテンシ 経路
JavaScript
処理性能
HTMLドキュメント構
成
HTML記
述
文法エ
ラー divネスト構
造
DOMオブジェクト
数
ネットワーク状
態
帯域 経路
レイテンシ
CSS定義構
造
読み込みファイル
数
Override定義
数
文法エ
ラー
SSL通信検査
JavaScriptコー
ド
処理効率
バグ含有
率
接続応答
性
複雑
度
接続方式
実装方
式
特性要因図
108. 制約の多いモバイルネットワーク
電波干渉という問題
ユーザがそこに多く居るからと言って、電波塔(基地局)は増やせない
基地局を乱立するとどうなるか? – “Dirty WiFi”と同じ状況に
電波の「谷間」~基地局と基地局の中間点
「繋がる」事と「通信できる」事は、違う
アンテナの表示が5本中5本立った! → 電波強度が十分というだけ
携帯基地局は、混雑するとネットワークを守るためにパケットを意図的にド
ロップする
レイテンシの問題
モバイルネットワークのレイテンシは3Gで100~200ms、4Gで40〜60ms
2016年3月7日 108 ©2012 Keynote Systems, Inc..
109. 携帯網のパケットドロップ率の影響
無線基地局のパケットドロップ率が20%、1パケット1KBの場合
1.全部で100KBのデータを送信する場合
失敗回数の期待値={100×(1-0.8)}÷0.8=25
失敗回数の分散={100×(1-0.8)}÷0.8^2 =31.25
失敗回数の標準偏差は、31.25の平方根、約6となります。
2σの考え方だと、
下値=失敗回数の期待値-2×失敗回数の分散の平方根
上値=失敗回数の期待値+2×失敗回数の分散の平方根
2σ(シグマ)の範囲を計算すると、(25-2×6, 25+2×6)=(13, 37)
95%の確率で13~37回の失敗(パケットドロップ)が発生します。
2.全部で1,000KBのデータを送信する場合
失敗回数の期待値={1,000×(1-0.8)}÷0.8=250
失敗回数の分散={1,000×(1-0.8)}÷0.8^2 =312.5
失敗回数の標準偏差は、312.5の平方根、約18となります。
2σ(シグマ)の範囲を計算すると、(250-2×18, 250+2×18)=(214, 286)
95%の確率で214~286回の失敗(パケットドロップ)が発生します。