Создать URL
Генератор Правила транслитерации Как сделать ЧПУ Блог Вопросы и ответы Создать URL
Практика

Инструменты проверки скорости в пакетном режиме

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

Зачем пакетный режим

Вручную можно проверить несколько страниц. Но скорость меняется после каждого релиза, а шаблонов десятки. Автоматический замер по выборке страниц показывает, ухудшилась ли скорость шаблона, и позволяет заметить проблему сразу. О самих метриках — в статье про 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

Цикл читает адреса из файла и для каждого запускает проверку, сохраняя отчёт в отдельный файл. Параметры программы меняются с версиями, поэтому сверьте команду с документацией. Для сбора результатов в таблицу напишите короткий скрипт, который достаёт нужные метрики из файлов.

Как получить сравнимые результаты

ТрипрогонаВзятьмедиануСохранитьс датойСравнитьс прошлым
ТрипрогонаВзятьмедиануСохранитьс датойСравнитьс прошлым
Как снизить разброс замеров
  1. Запускайте каждую страницу несколько раз и берите медиану: единичный замер сильно колеблется.
  2. Фиксируйте условия: скорость сети, устройство, регион.
  3. Запускайте в одно и то же время: нагрузка на сервер влияет на результат.
  4. Сохраняйте результаты вместе с датой релиза: так виден эффект изменений.

Пороги и оповещения

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

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

Частые вопросы

Сколько прогонов делать для одной страницы?

Обычно три и более, с использованием медианы: единичный замер сильно зависит от случайных факторов.

Какие страницы включать в выборку?

По нескольку страниц каждого шаблона, самые посещаемые и страницы с тяжёлыми блоками; набор должен быть одним и тем же при каждом запуске.

Что важнее: единичное значение или тенденция?

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

Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.

Читайте также