Зачем пакетный режим
Вручную можно проверить несколько страниц. Но скорость меняется после каждого релиза, а шаблонов десятки. Автоматический замер по выборке страниц показывает, ухудшилась ли скорость шаблона, и позволяет заметить проблему сразу. О самих метриках — в статье про Core Web Vitals, а о типах данных — в статье про инструменты измерения скорости.
Какие страницы измерять
- По три-пять страниц каждого шаблона: главная, категория, карточка, статья, корзина.
- Самые посещаемые страницы: они влияют на большинство посетителей.
- Страницы с тяжёлыми блоками: галереи, карты, виджеты.
- Один и тот же набор при каждом запуске: иначе результаты нельзя сравнивать.
Чем измерять
| Инструмент | Тип данных | Как использовать пакетно |
|---|---|---|
| Lighthouse из командной строки | Лабораторные | Цикл по списку адресов, вывод в файлы |
| Интерфейсы онлайн-сервисов проверки скорости | Лабораторные и полевые | Запросы по списку через программный интерфейс |
| Отчёты о реальных данных посетителей | Полевые | Выгрузка по группам адресов |
| Собственный скрипт с браузером без окна | Лабораторные | Гибкая настройка условий |
Пример запуска
while read url; do
name=$(echo "$url" | md5sum | cut -c1-8)
npx lighthouse "$url" --quiet --chrome-flags="--headless" \
--output=json --output-path="report-$name.json"
done < urls.txt
Цикл читает адреса из файла и для каждого запускает проверку, сохраняя отчёт в отдельный файл. Параметры программы меняются с версиями, поэтому сверьте команду с документацией. Для сбора результатов в таблицу напишите короткий скрипт, который достаёт нужные метрики из файлов.
Как получить сравнимые результаты
- Запускайте каждую страницу несколько раз и берите медиану: единичный замер сильно колеблется.
- Фиксируйте условия: скорость сети, устройство, регион.
- Запускайте в одно и то же время: нагрузка на сервер влияет на результат.
- Сохраняйте результаты вместе с датой релиза: так виден эффект изменений.
Пороги и оповещения
Для каждого шаблона задайте границы допустимых значений основных метрик и оповещайте при выходе за них: как приоритизировать задачи по скорости. Смотрите тенденцию, а не отдельные значения: постепенное ухудшение важнее разового скачка. Не забывайте проверять результаты и на реальных данных посетителей: лабораторные замеры лишь дополняют их.
Связанные материалы. Чек-лист проверок скорости магазина — в статье про скорость интернет-магазина, а общий порядок регулярных проверок — в статье дашборд технического состояния.
Частые вопросы
Сколько прогонов делать для одной страницы?
Обычно три и более, с использованием медианы: единичный замер сильно зависит от случайных факторов.
Какие страницы включать в выборку?
По нескольку страниц каждого шаблона, самые посещаемые и страницы с тяжёлыми блоками; набор должен быть одним и тем же при каждом запуске.
Что важнее: единичное значение или тенденция?
Тенденция: постепенное ухудшение метрик по шаблону говорит о проблеме надёжнее, чем разовый скачок.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.