SpeedData

Real User Monitoring

Real User Monitoring

リアルユーザとは

リアルユーザとは、実際のユーザを指します。
従来、Webブラウザでは、実際のユーザがどのくらいの秒数でWebページを閲覧できているのかを取得する方法がありませんでした。
そこで、1990年代から2010年ぐらいまでは、能動的に1ユーザとしてWebページにアクセスして表示速度を計測するSynthetic Monitoring(合成監視)が主流でした。

Synthetic Monitoringは、Synthetic Data(合成データ)から名前がきています。
データは、実際の活動や行動によって生み出されるものですが、Synthetic Dataは、こちらから働きかけることでデータを生み出す(データの合成)ことで、この呼称になっています。

リアルユーザ監視とは

リアルユーザ監視とは、Webブラウザの中に実装されたW3C Web Performance Working Groupが策定したパフォーマンス計測のAPIを利用して、パフォーマンスに関するデータを収集・監視する手法です。
Real User Monitoringの頭文字を取って、RUMラムと呼称されます。

リアルユーザ監視の強みと弱み

強み

リアルユーザ監視は、実ユーザが体験している、実際のWebパフォーマンスの値を取得することができます。
従って、実際のユーザがどのくらいの速度のデジタル体験をしているのかを把握できるのが強みです。

また、リアルユーザ監視は、Synthetic Monitoring(合成監視)と異なり、WebブラウザのAPIをJavaScriptで叩いてデータを取得するので、フィッシャー三原則の1つである「局所管理化」が必要なく、インフラの投資が必要ありません。
そのため、安価な費用でデータ取得が可能です。

弱み

リアルユーザ監視は、統計学で言うところの「変数を止める」処理ができていません。
因果関係を明確にするために、目的変数に影響を及ぼしている説明変数を明確にする、フィッシャー三原則に従った「実験データ」ではなく、「観察データ」に分類されます。
そのため、パフォーマンス改善に必要な因果関係を証明できません。

例えば、福岡で、あるユーザについて、あるWebページの表示完了時間が6秒だったとしましょう。
リアルユーザ監視は、その6秒の時間消費を、DNSで1秒、SSLで2秒、Waitで2秒、Loadで1秒という具合に、項目毎に分解はできます。
しかし、各項目の数値について、なぜ、その値になったのかを明らかにはできません。

より具体的に説明すると、例えば、DNSで2秒掛かったというデータが分かっても、単純にその値を信じるわけにはいきません。
その2秒という値(目的変数)が他の影響を受けずに、単純にDNSの遅延だけで2秒だったと証明できないのです。
以下のような影響も考慮する必要があります。

Synthetic Monitoringとリアルユーザ監視の補完関係

Webパフォーマンス計測・監視においては、「Synthetic Monitoring VS Real User Monitoring」という対立項で考えるのではなく、補完関係で捉えて下さい。
リアルユーザ監視で、サイト全体のページについて監視を行い、ユーザの地域毎に見て、遅延しているページと地域の分布を把握します。
そして、その原因を明確にするために、その地域における、遅延しているページについて、実験計画を立案してSynthetic Monitoringを行う、という手順を取ります。

CatchpointのRUMの強み

リアルユーザ監視は、安価にサービス提供が可能であるため、色々なベンダーから提供されています。
そこで、Catchpointのリアルユーザ監視の特長について、以下に記載します。

Webパフォーマンスに殆ど影響を及ぼさない

CatchpointのRUMのJavaScriptは、読込時間が90パーセンタイルで30ミリ秒です。
分析系のサービスにありがちな、観察者効果による、観測値への影響を最小限にしています。
CatchpointのRUMのJavaScriptを設置しても、Webページの表示速度には殆ど影響を及ぼしません。

Local Storageベースのデータ保存

他社のRUMは、CookieベースでのRUMの実装となっているのに対して、CatchpointのRUMはLocal Storageベースでの実装となっており、初回訪問からWebパフォーマンスデータを取得できます。
Cookieベースでの実装のRUMは、2回目の訪問からWebパフォーマンスが取得されるため、初回訪問時のWebパフォーマンスデータが欠損します。
また、2回目の訪問時のWebパフォーマンスデータなので、ブラウザキャッシュが効いた状態で計測されてしまい、データが速い方へと偏ります。

ビッグデータ分析

CatchpointのRUMは、月間1,000万PV以上あっても、全てのユーザのデータを保存し分析する事ができます。
他社のRUMの場合、たとえ全数調査であっても、データの分析は標本抽出となってしまい、標本誤差が大きくなってしまう傾向にあります。
ビッグデータをきちんと分析できるからこそ、RUMの意義があります。

強力な層別分析

非常に大きなデータセットの分析は、そのままでは、有益な知見を見出す事ができません。
地域特性、ISP特性、ブラウザ特性、通信速度特性、ページテンプレートなどに、因果構造に起因した層別分析を行わないと、「シンプソンのパラドックス」に陥る可能性もあります。
CatchpointのRUMデータは、強力な層別分析機能を持ち、適切な分析を可能とします。

Real User Monitoringのメトリクス

詳細なメトリクス

CatchpointのRUMで取得できる指標については、こちらでご確認下さい。

Real User Monitoringの価格体系

詳細なメトリクス

Synthetic Monitoringのような設備投資が必要ないので、導入しやすい金額設定になっています。
契約期間は1年単位となります。
サンプリングレートを100%ではなく、90%とか80%という具合に標本抽出にすることも可能です。