
Real User Monitoringとは
CatchpointのReal User Monitoringは、Webパフォーマンスの全数調査です。
パフォーマンス改善に必要な因果関係を証明できませんが、実ユーザの体験速度を捉えることができます。
ここでは、Real User Monitoringについて解説します。
全体を俯瞰するデータを取得することを目的とする
Real User Monitoringは、直接、ユーザの使用しているブラウザから表示速度に関する値を取得します。
ユーザの使用しているブラウザから取得された表示速度の値は、様々な要因(因子)によって成り立っており、その因子の全てを把握できるわけではありません。
従って、Webパフォーマンスの高速化に必要な因果関係を、Real User Monitoringのデータから証明することはできません。
しかし、Real User Monitoringの表示速度は、実際のユーザ毎のブラウザから取得しているため、ユーザが体験している表示速度を俯瞰するデータとしては最適です。
Real User Monitoringの仕組み
Internet Explorer、Chrome、Firefox、Safariなどの殆どのWebブラウザは、W3C Web Performance Working Groupが策定したWebパフォーマンス計測の測定基準に従って、その値を計測・取得する仕組みを実装しています。
Webブラウザに格納された値は、JavaScriptで取り出す事が可能です。
例えば、このSpelldataのWebサイトの各ページには、一番下に「このページの表示速度」という欄を設けています。
ここに表示される値は、皆さんが今、使っているWebブラウザに格納されている値をJavaScriptで呼び出して表示したものです。
W3C Web Performance Working Groupが策定した測定基準
W3C Web Performance Working Groupが策定した測定基準には、以下のものがあります。
- Performance Timeline
- パフォーマンスの測定基準のデータを保存・取得する統一インターフェースについて定義
- Navigation Timing
-
Webページのルートドキュメントを読み込みながらユーザエージェントから実世界のパフォーマンス情報を収集する、サイト開発者向けの相互利用可能な手段。
ユーザエージェントはWebサーバからWebページを読み込んだ時のEnd to Endのレイテンシを取得する。 - Resource Timing
-
Webページのルートドキュメントが指定したリソースを読み込みながらユーザエージェントから実世界のパフォーマンス情報を収集する、サイト開発者向けの相互利用可能な手段。
ユーザエージェントはWebサーバからリソースを読み込んだ時のEnd to Endのレイテンシを取得する。これは、ネットワークを経由してリソースを取得した時間とユーザエージェント内でリソースが読み込まれた時間が含まれる。
以下のものが含まれる。- ネットワークに関連した計時
- ドキュメント内のリソースを読み込みに関連した計時
- リソースは以下のエレメントのいずれかになる: iframe, img, script, object, embed, link
- User Timing
-
開発者が提供した名前で計時情報を取得する、サイト開発者向けの相互利用可能な手段。
ユーザエージェントはユーザエージェント内でコードが実行されたタイムスタンプと指定された時間を取得する。 - Server Timing
- ユーザエージェントとのリクエスト—レスポンスサイクルのパフォーマンス測定基準をやり取りする、サーバ向けの相互運用可能な手段であり、JavaScriptインターフェースによってアプリケーションがアプリケーション配信を最適化するためにそれらの測定基準を収集、処理、実行することを可能にする。