Синтетическое тестирование и мониторинг реальных пользователей
Синтетическое тестирование и мониторинг реальных пользователей – самые важные инструменты для повышения производительности. Но они делают разные вещи и полезны в разное время, и многие разработчики тратят время только на освоение одного из этих инструментов и видят только часть своих проблем с производительностью.
Давайте посмотрим на эти инструменты, на то, что они измеряют и когда их использовать.
Синтетическое тестирование
Синтетическое тестирование измеряет производительность веб-сайта в контролируемой среде. Примерами этого являются аудиты Lighthouse от Chrome Devtools или Pagespeed Insights. Тест имитирует местоположение, задержку, пропускную способность, браузер и устройство, чтобы приблизительно оценить опыт посетителя вашего веб-сайта.
Чтобы синтетический тест был точным и ценным, вам необходимо знать кое-что о ваших вероятных посетителях: где они, в какой сети они находятся и какое устройство они используют. Затем тест должен точно смоделировать эти характеристики. Обе эти вещи трудны.
Интернет – это большое и разнообразное место, и разработчики не всегда достаточно осведомлены о наших пользователях. Мы можем делать предположения, но поскольку мы часто работаем в быстрых сетях с новыми ноутбуками, мы часто переоцениваем возможности наших пользователей.
Кроме того, у вас, вероятно, есть несколько типов пользователей , которых следует тестировать. Некоторые из ваших пользователей будут заходить туда с ноутбуков на работе. Другие будут пытаться войти в систему с телефона в поезде во время поездки или на планшете с нестабильным Wi-Fi в кафе. У каждого пользователя будет свой взгляд на производительность, и его нужно будет смоделировать с помощью теста.
Самым большим преимуществом такого инструмента является то, что вы можете запустить синтетический тест на своем веб-сайте прямо сейчас , независимо от того, есть ли у вас какие-либо пользователи. И результаты, вероятно, расскажут вам о ваших самых больших проблемах с производительностью.
Тест будет ошибочным, и это нормально, потому что он даст вам представление о производительности. Синтетическое тестирование никогда не скажет вам, насколько быстро ваш веб-сайт на самом деле – только то, насколько он может быть быстрым прямо сейчас.
Мониторинг реального пользователя
Мониторинг реального пользователя (или RUM) записывает фактическую производительность пользователей, посетивших ваш сайт. RUM не угадывает и не моделирует пользователя, он просто записывает фактическую производительность, которую он испытал.
Мониторинг реального пользователя более точен, чем синтетическое тестирование, но при этом больше шума и больше задержки.
Данные RUM по своей сути будут включать данные всех пользователей. Вам нужно будет применить статистику к данным, чтобы понять, что они на самом деле означают – такие вещи, как медианы, процентили и распределения. При правильном использовании данные RUM сообщают вам, как ваши самые быстрые пользователи, типичные пользователи и худшие пользователи воспринимают ваш сайт.
Инструменты RUM, такие как Request Metrics, делают статистику за вас! Это распределение производительности для нашей домашней страницы показывает время загрузки большинства пользователей. Вы можете проверить наши данные в реальном времени и изучить эту диаграмму в нашей интерактивной демонстрации.
Самым большим ограничением RUM является задержка. RUM не может сказать вам, насколько быстрым будет ваш сайт, пока пользователи не начнут его посещать. Вам нужно будет выпустить это изменение и измерить влияние, чтобы увидеть, ускорился ли ваш сайт – или нет. Синтетическое тестирование может сделать некоторые предположения о производительности на ранних этапах, что поможет найти очевидные проблемы, но чтобы действительно доказать, что ваш сайт работает быстро, вам нужно использовать RUM.
Некоторые люди в Google даже смотрели на это, сравнивая синтетическую производительность веб-сайтов с RUM . Почти половина сайтов с идеальными синтетическими тестами не соответствовала минимальным требованиям для оценки Core Web Vital!
Соотношение сигнала и шума
Синтетическое тестирование и мониторинг реального пользователя – это соотношение сигнала и шума. Синтетические тесты не имеют большого шума – каждый запускаемый вами тест Lighthouse является достоверным показателем производительности для этих условий. Запустите тест еще раз с теми же условиями, и вы получите очень похожие результаты.
Мониторинг реального пользователя противоположен. Каждый бит данных, который вы получаете от RUM, показывает, как ваш сайт действительно работает для посетителя. Но эти посетители могут быть совершенно разными. Некоторым понравится ваш сайт. Другие будут думать, что они все еще используют AOL (старый очень медленный интернет).
Уловка в том, какие пользователи вам небезразличны? Если вы создаете сайт для корпоративных пользователей в США, то не имеет значения, какова производительность для мобильных пользователей в Украине. Инструменты RUM, такие как Request Metrics, помогают вам отфильтровать шум и агрегировать данные, чтобы дать вам более четкое представление о вашем целевом пользователе.
И синтетическое тестирование, и мониторинг реального пользователя – ценные инструменты для любого разработчика, который хочет создавать быстрые веб-сайты. Используйте синтетическое тестирование, например Lighthouse, для тестирования ваших изменений перед выпуском. Это поможет вам увидеть и исправить ошибки.
И используйте инструменты реального мониторинга пользователей, такие как метрики запросов, чтобы увидеть, действительно ли это изменение ускорило работу. Вы не узнаете, насколько быстро работает ваш сайт, пока посетители не сообщат вам об этом.