リアルユーザーモニタリング(、RUM)は、実際の利用者がウェブサイトやアプリケーションを操作したときの読み込みにかかる時間、応答、エラーなどを、利用者のウェブブラウザや端末の側から記録して分析する性能監視の手法である。利用者の操作を観測する受動的(パッシブ)な手法とされ、エンドユーザーが実際に体験している問題の特定や、ユーザーエクスペリエンス(UX)の把握に用いられる。単独の技術として提供されることも、アプリケーション性能管理(APM)製品の一機能として提供されることもある。あらかじめ用意した手順を自動で実行して測る外形監視(合成モニタリング)と対をなす手法であり、両者は補完的に用いられる。
概要 ウェブサイトやアプリケーションの応答が遅かったり、ボタンやリンクが期待どおりに動かなかったりすると利用者が離れてしまうことがあり、リアルユーザーモニタリングは、こうした体験に関わる問題を実際の利用者の操作の観測から特定する。TechTargetは、同じ機能を指す語として「エンドユーザーエクスペリエンスモニタリング」「リアルユーザー測定」(real user measurement)などの呼称も使われるとしている。
用途としては、コンテンツデリバリネットワーク(CDN)がなるべく小さいレイテンシでコンテンツを配信できているかの確認や、SaaS事業者や開発者が実際の利用者に対して意図したとおり動作しているかの検証が挙げられる。あらかじめ定めた指標に従い、ボトルネックになっている部分や反応が返ってこない部分を稼働中に検出する。
TechTargetは、リアルユーザーモニタリングが扱う対象を、エラーログの監視、ヒートマップの作成、ネットワーク性能の監視、ページの読み込みの監視、外部リソースの読み込みの監視、セッションリプレイの6種類に分類している。
仕組み おおむね次の要素からなる。
計測データの取得 一般的には、ページやアプリケーションにJavaScriptで書いたコードを挿入し、利用者の操作を受動的に追跡する。ブラウザ側で時間を測る標準としては、World Wide Web Consortium(W3C)が、文書のナビゲーションに関する時間情報にアクセスするインタフェースを定めた「Navigation Timing」を2012年に勧告として公開しており、個々の画像やスクリプトなど文書内の資源については「Resource Timing」が定められている。 計測される指標 ページの読み込みに要した時間やJavaScriptのエラーの発生などが計測される。Googleは、ウェブでの利用者の体験の質に関わる指標の指針としてWeb Vitalsを示しており、その中核となる指標として、表示にかかる時間を表すLargest Contentful Paint(LCP)を2.5秒以内、操作への応答を表すInteraction to Next Paint(INP)を200ミリ秒以下、表示の安定性を表すCumulative Layout Shift(CLS)を0.1以下という水準を挙げ、いずれも標準のウェブAPIでJavaScriptから計測できるとしている。 ビーコンによる送信 端末側で集めた計測データはサーバへ送られる。W3Cの「Beacon」仕様は、応答の処理を必要としないこうした一方向のリクエストを「ビーコン」と呼び、他の優先度の高い処理と資源を競合させずに非同期で送るためのインタフェースを定義している。 セッションへの組み立てと可視化 取得したデータは利用者ごとのセッションにまとめられ、ページにアクセスされた時刻、読み込みに要した時間、次に移動した先などが時系列で並べられる。まとめられたデータは集計され、ダッシュボードやレポートとして提示される。
収集される時間情報の扱いについて、W3CのNavigation Timing Level 2は「プライバシーの考慮」の節を設け、ある文書から別の文書の時間情報を参照できる範囲を同一オリジンの確認によって制限していると説明している。
外形監視との違い 外形監視は、ソフトウェアで利用者の操作を模擬してシステムに実行させ、その結果から挙動を評価する手法である。英語ではsynthetic monitoringと呼ばれ、TechTargetジャパンの記事では「合成モニタリング」と表記されている。TechTargetは、リアルユーザーモニタリングが実際の利用者と稼働中の本番サービスを必要とする一方、外形監視はそれらを必要とせず、模擬したデータで利用者の振る舞いやサイトの反応を再現するとしている。TechTargetの記事によれば、外形監視は制御された繰り返し実行できる試験によって性能の基準を確保するもので、開発や試験の段階や、本番環境で実際の利用者のデータを安定して取得できない場合に向くとされ、両者は組み合わせて用いることもできる。
展開 W3Cは、ページに埋め込んだJavaScriptで開始時刻と終了時刻の差を取るような計測では、ページの取得や初期化の過程を含む全体像を示せない場合が多いと述べている。W3Cはウェブパフォーマンス・ワーキンググループ(Web Performance Working Group)でブラウザ側の計測手段を標準化し、2012年12月17日にNavigation Timingを勧告として公開した。2026年時点では、後継のNavigation Timing Level 2は作業草案の段階にあり、資源単位の計測を定めるResource Timingは勧告候補の草案の段階にある。計測データの送信に用いるBeaconは、2022年8月3日に勧告候補の草案が公開されている。
利用者の体験を表す指標については、Googleが2020年5月4日に公開した解説ページ(2024年10月31日更新)でWeb Vitalsの指針を示している。同社は、Chrome User Experience Reportとして匿名化された実際の利用者の測定データを公開する一方、そのデータはページビュー単位の詳細なテレメトリを提供しないため、サイトが自前のリアルユーザーモニタリングを設定することを推奨するとしている。
TechTargetは、この分野のツールとして、Akamai、AppDynamics、Datadog、Dynatrace、New Relic、Raygun、Sematext、Splunkなどの事業者の製品を挙げている。同記事は、2025年時点で、こうしたツールがクラウド上でSaaSとして提供される形が増えているとしている。
関連項目 外形監視 アプリケーション性能管理 オブザーバビリティ セッションリプレイ Google Analytics
脚注