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

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

Синтетическое тестирование

Синтетическое тестирование измеряет производительность веб-сайта в контролируемой среде. Примерами этого являются аудиты Lighthouse от Chrome Devtools или Pagespeed Insights. Тест имитирует местоположение, задержку, пропускную способность, браузер и устройство, чтобы приблизить опыт посетителя на вашем веб-сайте.

Чтобы синтетический тест был точным и ценным, вам необходимо знать некоторые вещи о ваших вероятных посетителях: где они находятся, в какой сети находятся и какое устройство используют. Затем тест должен точно смоделировать эти характеристики. Обе эти вещи трудны.

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

Кроме того, у вас, вероятно, есть более одного типа пользователей, которых следует протестировать. Некоторые из ваших пользователей будут заходить с ноутбуков на работе. Другие попытаются войти в систему с телефона в поезде по дороге на работу или со своего планшета с ненадежным Wi-Fi из кафе. У каждого пользователя будет свой взгляд на производительность, и его нужно будет смоделировать с помощью другого теста.

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

Тест будет ошибочным, и это нормально, потому что он даст вам представление о производительности. Синтетическое тестирование никогда не скажет вам, насколько быстр ваш веб-сайт на самом деле — только насколько быстрым он может быть прямо сейчас.

Мониторинг реального пользователя

Реальный мониторинг пользователей — это просто настоящий. Real User Monitoring (или RUM) регистрирует фактические показатели пользователей, посетивших ваш веб-сайт. RUM не угадывает и не имитирует пользователя, он просто записывает фактическую производительность, с которой он столкнулся.

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

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

Инструменты RUM, такие как Request Metrics, делают статистику за вас! Это распределение производительности нашей домашней страницы показывает время загрузки большинства пользователей, 75% пользователей и самых медленных пользователей. Вы можете проверить наши данные в реальном времени и изучить этот график в нашей интерактивной демонстрации.

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

Кое-кто из Google даже посмотрел на это, сравнив синтетическую производительность веб-сайтов с RUM. Почти половина сайтов с идеальными синтетическими тестами не выполнили минимальные требования для оценки Core Web Vital! Половина! Половина людей, хвастающихся своей идеальной оценкой Lighthouse, наказывается Google за плохую работу.

Сигнал против шума

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

Но, как показало исследование Google, в этих синтетических результатах тоже нет большого количества сигналов. Этот отчет Lighthouse — это не то, как любой пользователь будет воспринимать вашу страницу (если только они не просматривают ваш сайт с вашего ноутбука в вашей сети).

Реальный мониторинг пользователей противоположен. Каждый бит данных, которые вы получаете от RUM, показывает, как ваш веб-сайт действительно работает для посетителя. Но эти посетители могут быть совершенно разными. У некоторых будет потрясающий опыт на вашем сайте. Другие будут думать, что они все еще пользуются AOL (читай: старый очень медленный интернет).

Хитрость в том, какие пользователи вам небезразличны? Если вы делаете сайт для корпоративных пользователей в США, то неважно, какая производительность для мобильных пользователей в Украине. Инструменты RUM, такие как Request Metrics, помогают отфильтровать шум и агрегировать данные, чтобы дать вам более четкое представление о вашем целевом пользователе.

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

И используйте Реальные инструменты мониторинга пользователей, такие как Request Metrics, чтобы увидеть, действительно ли это изменение действительно ускорило работу. Вы не знаете, насколько быстр ваш сайт, пока посетители не скажут вам об этом.

Первоначально опубликовано на https://requestmetrics.com.