Skip to main content

Что такое мониторинг реальных пользователей (RUM — Real User Monitoring)?

Выбор подходящих инструментов и подходов для мониторинга производительностью приложений — сложная и важная задача. Стоит помнить, что конечная цель APM (Application Performance Monitoring) — ответить на два вопроса:

  • Как конечные пользователи используют ваш сайт или мобильное приложение?
  • Как превратить полученные данные в полезные идеи для бизнеса и развития DevOps в компании?

Хорошей отправной точкой для достижения этих целей станет внедрение RUM (Real User Monitoring) — мониторинга реальных пользователей.

Содержание:

  1. Что такое “мониторинг реальных пользователей”?
  2. Этапы мониторинга реальных пользователей
  3. Как работает RUM?
  4. Преимущества RUM
  5. Ограничения этого вида мониторинга
  6. Практическое использование

Что такое “мониторинг реальных пользователей?”

Мониторинг реальных пользователей (RUM) — это пассивный метод мониторинга производительности, который собирает и передает данные о реальных пользователях веб-сайта или сервиса.

Отчеты с данными дают DevOps информацию о производительности веб-страницы с учетом переменных среды конечного пользователя: местоположение, устройство, операционную систему, браузер. Мониторинг реального пользователя позволяет обнаружить проблемы с обновлениями сайта на ранней стадии, так как RUM собирает следующую информацию:

  • Время загрузки до первого байта и полной готовности страницы
  • Редиректы, DNS и время, необходимое для подключения
  • Время для отправки запроса и получения ответа на бэкенде
  • Объектная модель документа (DOM — Document Object Model) во внешнем интерфейсе и время рендеринга

Это тип пассивного мониторинга, связанный со службами веб-мониторинга, для постоянного наблюдения за работой вашей системы, отслеживания доступности и функциональности. Другое название мониторинга реальных пользователей — мониторинг взаимодействия с конечным пользователем (EUM — end-user experience monitoring).

Этапы мониторинга реальных пользователей

RUM помогает узнать, насколько легко пользователям взаимодействовать с облачными, мобильными и веб-приложениями. Мониторинговые платформы, поддерживающие этот тип мониторинга, позволяют записывать пользовательские сессии в реальном времени, отслеживать взаимодействие с пользователем на нескольких уровнях, отслеживать, на какие страницы заходит человек, анализировать время отклика и определять, когда и где определенные страницы “падают”.

Этап 1. Сбор данных

Даже когда запрошенный контент размещен на других сайтах, он собирает сведения о запросах страниц, JSON и других ресурсов от браузера к веб-серверам.

Этап 2. “Сессионирование” (sessionization)

Сессионирование — процесс разделения данных о каждом посещении и объединения их в запись, которая включает указание на страницы, компоненты и информацию о времени посещения.

Этап 3. Обнаружение проблемы

Для разных сайтов, страниц и посещений исследуется любое странное поведение: задержка ответа, системные проблемы, проблемы с веб-навигацией и другие сбои.

Этап 4. Отчетность по индивидуальным посещениям

Индивидуальные посещения воссоздаются с использованием собранных данных. Можно точно отследить, что и как просматривал пользователь.

Этап 5. Отчетность и сегментация — два важных аспекта любого бизнеса

Доступность и производительность страницы можно определить с помощью агрегированных по нескольким браузерам и пользовательским сегментам данных.

Этап 6. Оповещения

При обнаружении серьезной проблемы система выдает оповещение.

Как работает мониторинг реальных пользователей?

Как и следует из названия, этот вид мониторинга собирает данные только в случае реальных посещений страницы, поэтому он и называется пассивным. Активный мониторинг, также известный как “синтетический мониторинг” (Synthetic Monitoring), имитирует пользователя и тестирует взаимодействие со страницами.

Мониторинг реальных пользователей может выполняться различными способами, включая сбор данных со стороны сервера (server-side collection), со стороны браузера (browser-side collection), или их сочетание. “Пропорция” в сочетании определяется задачами мониторинга: что вам нужно измерить.

Процесс сбора и визуализации данных разделен на пять этапов:

  1. “Загрузить”: асинхронная загрузка небольшого файла скрипта, находящегося в тегах отслеживаемых страниц.
  2. “Записать”: по мере загрузки страницы файл скрипта собирает данные о производительности.
  3. “Отправить”: после завершения загрузки страницы файл скрипта через безопасное соединение отправляет данные обратно на серверы службы мониторинга.
  4. “Обработать”: данные обрабатываются серверами. При повышенной нагрузке в пиковые часы данные о производительности , пользовательской среде и метаданные время обработки может исчисляться минутами.
  5. “Агрегировать”: результаты классифицируются по посещенным страницам, местоположению, браузеру (тип и версия), операционной системе (тип и версия) и виду устройства.

Преимущества мониторинга реальных пользователей

RUM поможет определить, как посетители используют веб-сайт или приложение. Вы получаете доступ к важным метрикам и возможность анализировать отдельные посещения. 

  • Целевые показатели уровня обслуживания (targets for service levels) легко измерить

Отслеживание взаимодействия фактических посетителей с вашим сайтом или приложением и статистика по актуальным вариантам использования позволяет приблизиться к достижению критически важных целей.

  • Быстрое выявление проблем и эффективная приоритизация задач 

RUM дает возможность воспроизводить пользовательские сеансы и отслеживать транзакции, что поможет обнаружить скрытые и неочевидные проблемы. 

  • Сегментация данных

У всех разные браузеры, типы подключений, устройства, на пользовательский опыт влияет множество факторов. Важно сегментировать данные, чтобы выявлять проблему, характерную для определенных пользователей, и проводить тесты с учетом этого разделения.

Ограничения мониторинга реальных пользователей

У RUM есть определенные недостатки, несмотря на его многочисленные преимущества. Эти недостатки легко восполнить при сочетании RUM с синтетическим мониторингом. 

  • Нет бенчмаркинга. RUM не может исследовать сайты конкурентов, поэтому сложно сравнивать эффективность вашего сайта с другими.
  • В условиях пре-продакшна эффективность RUM ограничена. RUM функционирует в предпроизводственной среде, но у большинства разработчиков в ней почти нет трафика, с которым работает RUM.
  • Слишком много данных. Даже с лучшими решениями на рынке просмотр огромного количества данных, которые собираются при мониторинге реальных пользователей, может оказаться затруднительным.

Практическое использование

RUM используется для отслеживания приложений и веб-сайтов, чтобы выявлять проблемы, которые упускают другие методы тестирования. Несколько примеров:

  • Непрерывный фоновый мониторинг блога, чтобы узнать, когда и где увеличивается время загрузки страницы. Увеличение времени загрузки и тайм-аутов приведет к недовольству читателей блога и ухудшению рейтинга сайта в Google
  • Может использоваться, например, банковским ПО для обнаружения периодически возникающих трудностей, таких как сбои при входе в систему
  • RUM может использовать разработчик приложения для выявления сбоев платформы, которые не видны во время тестирования перед развертыванием
  • Команда разработчиков может использовать RUM для устранения трудностей, возникающих при развертывании, и сузить область поиска с помощью фильтров и переменных 
  • Продакт-менеджеры, не имеющие большого опыта программирования, могут использовать информационные панели инструментов RUM, чтобы определять, когда страницы с высоким приоритетом работают плохо, а затем эффективно распределять ресурсы для решения проблемы

Заключение

Мониторинг реальных пользователей позволят улучшить впечатление клиентов от вашего сайта или приложения. Медленная или неполная загрузка страниц, трудности с транзакциями и другие проблемы могут испортить ваши отношения с пользователями и их восприятие компании. 

RUM — отличное решение для обнаружения препятствий на пути к отличному пользовательскому опыту. Мониторинг реальных пользователей поддерживает работу вашего сайта или приложения с оптимальной производительностью, поэтому посетители будут возвращаться.