SpeedData

違う角度から監視する

計測の種類

Webパフォーマンスを計測するといっても、実は、四つの手法があります。
何を知るために、どの手法を使えば良いのでしょうか?
ここでは、Webパフォーマンスの四つの手法の詳細と、使い分けについて解説します。

計測手法
手法計測のやり方目的フィッシャー三原則の遵守
Server-side Monitoring Webサーバが設置してあるデータセンター内に計測端末を設置して、実験計画法に基いて表示速度や可用性を定常的に計測・監視する。 インターネット網を介さない、素のWebサーバのパフォーマンスを測る
Synthetic Monitoring 一次ISP(インターネット・サービス・プロバイダ)に計測端末を設置して、実験計画法に基いて表示速度や可用性を定常的に計測・監視する。 インターネット網を介した、コントロール可能な範疇でのWebパフォーマンスを測る
Last Mile Monitoring エンドユーザ環境(自宅など)に計測端末を設置して、実験計画法に基いて表示速度や可用性を定常的に計測・監視する。 エンドユーザ環境での、Webパフォーマンスを測る
Real User Monitoring エンドユーザの端末上のブラウザのAPIをJavaScriptで呼び出して、計測対象Webページが読み込まれた時の表示速度の値を取得する。 全てのアクセスに対して、表示速度の値を取得して、全体像を把握する ×
Webパフォーマンス計測手法
Webパフォーマンス計測の四つの手法

計測手法のそれぞれの強みと弱み

計測手法
手法データ取得種別強み弱み費用
Server-side Monitoring 実験標本調査。因果関係を一部証明可能。 インターネット網の影響を変数として排除でき、素のWebサーバの性能と可用性を計測・監視できる インターネット網の影響が表示速度に反映されないため、実際の表示速度は分からない 中。
物理もしくは仮想マシンとして計測端末をWebサーバのあるデータセンター内に設置するので、計測のための設備投資は必要ない。
Synthetic Monitoring 実験標本調査。因果関係を一部証明可能。 インターネット網の影響を変数として反映しつつも、他の変数を固定化できるため、きれいな実行可能データ(Actionable Data)が取得できる。 ラストマイルの影響やユーザの使う端末の状態などの変数が反映されないため、実ユーザの体験数値よりは若干速くなる。計測しているページ以外はデータが取得できない。 高。
変数のブロック化を行うため、環境の統一を行う必要があり、設備投資が高くつく。その分が料金に反映される。
Last Mile Monitoring 実験標本調査。因果関係を一部証明可能。 回線についての変数の固定化はできないが、それ以外は、フィッシャー三原則に乗っ取ってエンドユーザ環境で計測するため、質の高いエンドユーザが体感している表示速度データを取得できる。 計測しているページ以外はデータが取得できない。 中。
エンドユーザ環境に端末を置かせてもらう交渉と、エンドユーザのISP利用料金を建て替えるため、データセンターを借りる費用はないが、運用費用は若干嵩む。
Real User Monitoring 観察全数調査・観察標本調査。因果関係は証明できない。 アクセスがあったWebページについては、全て、もしくは任意の標本抽出レートで観測値を取得できる。ユーザが体感している表示速度を知る事ができる。 観測値には、多数のノイズが入っており、そのノイズは分離できないため、品質管理のデータとしては使えない。 低。
ユーザの使うブラウザから値を得るため、インフラ投資が殆ど必要ない。

品質管理においては、「使える」データを取得することが重要です。
日本の製造業の高い品質管理も、その背後には、計測機器メーカーの精度の高い機器と、その機器が提供する「使える」データの存在があります。

計測手法の使い分け

これら四つの計測手法は、どのように使い分ければ良いのでしょうか?
それを表したのが、下の図です。

Webパフォーマンス計測手法の使い分け
Webパフォーマンス計測の使い分け

Real User Monitoringで、Webパフォーマンスの全体像を把握し、その中から、特に遅いページやページ遷移を地域やブラウザなどの層別で抜き出します。
そして、Synthetic Monitoringで、フィッシャー三原則に基づいた定常計測を行い、分析に使えるデータ(実行可能データ)を取得します。
その上で、更なる詳細分析が必要な場合には、Server-side MonitoringやLast Mile Monitoringで、Syntheticとの差分を取り、分析します。