Синтетический мониторинг и RUM: в чём разница и что нужно вам
Один подход проверяет сайт роботами по расписанию, другой — собирает данные с браузеров живых посетителей. Их постоянно противопоставляют, хотя отвечают они на разные вопросы. Разбираем без маркетинга: что умеет каждый, где их слепые зоны и почему для контроля доступности выбор на самом деле безальтернативен.
Синтетический мониторинг — это проверки сайта по расписанию из контрольных точек: робот запрашивает страницу и фиксирует результат. Никаких реальных пользователей — только регулярные контрольные замеры из известных мест с известной периодичностью.
RUM (Real User Monitoring) — это сбор метрик из браузеров настоящих посетителей: на сайт ставится скрипт, который отправляет данные о скорости загрузки у каждого визита. Никаких роботов — только реальный опыт реальных людей на их устройствах и их интернете.
Ключевое различие — не технология, а вопрос
Синтетика отвечает на вопрос «работает ли сайт прямо сейчас?» — и отвечает всегда, даже в четыре утра, когда посетителей нет. RUM отвечает на вопрос «как сайт ощущается людьми?» — и отвечает только тогда, когда люди есть. Это различие тянет за собой всё остальное:
| Синтетика | RUM | |
|---|---|---|
| Заметит падение ночью | Да — проверки идут всегда | Нет — некому загружать страницы |
| Заметит полное падение сайта | Да — это его главная работа | Парадоксально — нет: скрипт не загрузился, данные не пришли, график просто пустеет |
| Покажет скорость на старом телефоне в 3G | Нет — робот меряет из своих условий | Да — это его главная работа |
| Стабильность замеров | Высокая: одинаковые условия, сравнимые результаты | Данные шумные: устройства и сети у всех разные |
| Что требуется от сайта | Ничего — проверки идут снаружи | Вставить скрипт в код каждой страницы |
| Когда появятся данные | С первой проверки | Когда наберётся трафик |
RUM собирает данные скриптом на странице. Если сайт упал целиком, страница не загрузилась — и скрипт тоже. В момент худшей аварии RUM молчит: нет данных — нет тревоги. Именно поэтому RUM не бывает заменой мониторингу доступности, только дополнением к нему.
Для доступности выбор безальтернативен
Ответ на вопрос «упал ли сайт» может дать только синтетика: регулярные проверки снаружи, из нескольких точек, независимо от наличия посетителей. Проверка доступности (GET) — классическая синтетика: запрос страницы как от посетителя, контроль кода ответа и времени, из 13 точек мониторинга по расписанию. Ей не нужен ни трафик, ни доступ к коду сайта — и она одинаково зорко смотрит и в час пик, и ночью.
Есть и второй аргумент, специфичный для России: RUM показывает только тех, кто смог дойти до сайта. Если сайт недоступен из части регионов — из-за сбоя магистрали или блокировки, — эти посетители в RUM-данных просто не появятся, и картина останется благополучной. Синтетика из распределённых по стране точек ловит ровно этот класс проблем; мы разбирали его в статье о проверке доступности из России.
А зачем тогда RUM вообще?
Затем, что скорость — не доступность. Сайт может стабильно отвечать 200 и при этом мучительно грузиться у половины аудитории на мобильных. Вот это — территория полевых данных: они показывают реальный разброс по устройствам, сетям и регионам, и именно по ним Google считает Core Web Vitals для ранжирования.Что означают LCP, INP и CLS — в нашем разборе Core Web Vitals.
Хорошая новость: базовые полевые данные у вас, скорее всего, уже есть без всяких скриптов. Яндекс Метрика показывает скорость загрузки у реальных посетителей, а Google собирает CrUX-статистику по популярным сайтам автоматически. Ставить отдельный RUM-скрипт ради того, что уже собирают два бесплатных источника, — сомнительная сделка: лишний скрипт — это лишний вес страницы и лишняя зависимость. Мониторинг и веб-аналитика вообще отвечают на разные вопросы — об этом у нас есть отдельная статья.
Лаборатория против поля: почему цифры не сходятся
Классическое недоумение владельца сайта: синтетический тест скорости показывает 90 баллов, а полевые Core Web Vitals в жёлтой зоне — или наоборот. Это не ошибка одного из инструментов, а разные условия измерения. Синтетика меряет из хороших условий контрольной точки — стабильная сеть, одинаковое «устройство»; поле — со всех реальных устройств, включая пятилетние телефоны в переполненной сети метро. Лабораторная цифра отвечает «на что способен сайт», полевая — «что получают люди».
Расхождения читаются как диагноз. Лаборатория отличная, поле плохое — у вашей аудитории условия хуже лабораторных: тяжёлая страница добивает слабые устройства, дальние регионы упираются в сеть. Лаборатория плохая, поле приличное — аудитория лояльнее теста: сидит на быстрых устройствах, ходит по кэшированным страницам. Первый случай требует оптимизации, второй — обычно нет. И ещё одна особенность: полевые данные инертны, они агрегируются за 28 дней — деградацию после вчерашнего релиза поле покажет через недели, синтетика — следующим же замером. Поэтому ловить регрессии нужно синтетикой, а оценивать реальный опыт — полем.
Кому что: три типовых профиля
| Профиль | Что ставить |
|---|---|
| Визитка, лендинг, блог | Синтетика доступности (GET раз в 5–15 минут) + Метрика. Отдельный RUM не нужен |
| Магазин, сервис с оплатами | Синтетика доступности на ключевые страницы (раз в 2 минуты) + синтетический замер скорости по расписанию + полевые CWV из CrUX |
| Приложение с логикой в браузере (SPA, кабинеты) | Всё то же + полноценный RUM с отчётами об ошибках JS: здесь у RUM есть уникальные данные, которых нет ни в CrUX, ни в синтетике |
Практический итог
Не выбирайте между подходами — распределите роли. Доступность — только синтетика: внешние проверки по расписанию, из нескольких городов, с уведомлениями. Скорость у реальных людей — полевые данные, которые уже есть в Метрике и CrUX. Регулярный контроль скорости — синтетический замер по расписанию (интервал подбирается от 12 часов — чаще скорость мерить незачем): он даёт сравнимые от недели к неделе цифры и ловит деградацию после обновлений, до того как она отразится на полевых данных — они инертны и реагируют с задержкой в недели.
Проверка «Скорость страницы» в Пруфене делает синтетический Lighthouse-замер по расписанию и рядом показывает полевые Core Web Vitals реальных пользователей — лабораторный контроль и живую картину не нужно собирать из разных сервисов. А доступность сторожат GET-проверки из 13 точек — 11 из них в России — с интервалом от 2 минут. Бесплатного тарифа хватает на 5 проверок.