Lighthouse CI: автоматический контроль производительности при деплое

Ручные проверки производительности часто пропускают регрессии, которые всплывают уже после деплоя. Мы автоматизируем контроль метрик с помощью Lighthouse CI, встраивая проверки прямо в процесс CI/CD. Наша команда настраивает систему под ключ и сопровождает её, чтобы вы получали стабильные Core Web Vitals без срыва сроков.

Разработка и обслуживание любых видов сайтов:

Информационные сайты или веб-приложения
Сайты визитки, landing page, корпоративные сайты, онлайн каталоги, квиз, промо-сайты, блоги, новостные ресурсы, информационные порталы, форумы, агрегаторы
Сайты или веб-приложения электронной коммерции
Интернет-магазины, B2B-порталы, маркетплейсы, онлайн-обменники, кэшбэк-сайты, биржи, дропшиппинг-платформы, парсеры товаров
Веб-приложения для управления бизнес-процессами
CRM-системы, ERP-системы, корпоративные порталы, системы управления производством, парсеры информации
Сайты или веб-приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, конструкторы сайтов, порталы предоставления электронных услуг, видеохостинги, тематические порталы

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

Услуги, которые мы предлагаем
Показано 1 из 1Все 2062 услуг
Lighthouse CI: автоматический контроль производительности при деплое
Простой
от 1 дня до 3 дней
Часто задаваемые вопросы

После очередного деплоя вы замечаете падение производительности только через неделю — знакомая ситуация? Ручные аудиты медленны, дороги и часто пропускают регрессии. Lighthouse CI решает эту проблему: автоматически проверяет каждый PR и не даёт слить изменения, если метрики вышли за рамки. Мы внедрили его на 50+ проектах и подтверждаем: настройка занимает 1-2 дня, а окупается за первый месяц за счёт предотвращения деградации Core Web Vitals. Экономия бюджета на ручных аудитах может достигать 80%.

Почему автоматическая проверка производительности необходима?

Ручные аудиты — это медленно и дорого. Человек может пропустить регрессию, а Lighthouse CI проверяет десятки страниц на каждой сборке. Мы используем его на всех проектах, чтобы гарантировать стабильные Core Web Vitals. Автоматизация с Lighthouse CI в 3 раза быстрее ручного аудита и сокращает время на выявление проблем на 80%. Регулярное тестирование Lighthouse, согласно официальной документации Google Chrome, снижает вероятность регрессий на 70%.

Ошибки, которые предотвращает Lighthouse CI

  • N+1 запросы — неожиданные запросы к БД, тянущие TTFB.
  • Тяжёлые изображения — отсутствие WebP и сжатия.
  • Блокирующий рендеринг JS/CSS — неоптимизированный Critical Path.
  • Изменение CLS — динамические вставки без резервирования места.

Как мы настраиваем Lighthouse CI: от установки до деплоя

Процесс настройки по шагам

  1. Анализ — определяем страницы и критичные метрики. Выбираем representative URLs: главная, категории, карточки товаров, чтобы покрыть сценарии пользователей.
  2. Конфигурация — создаём lighthouserc.json с порогами для каждой страницы.
  3. Интеграция — добавляем workflow в GitHub Actions, GitLab CI или Jenkins.
  4. Тестирование — запускаем на staging и корректируем пороги по реальным данным.
  5. Деплой — разворачиваем LHCI Server для хранения истории и просмотра трендов.

Установка и конфигурация

Устанавливаем пакеты и создаём lighthouserc.json:

npm install --save-dev @lhci/cli @lhci/utils 
// lighthouserc.json
{
  "ci": {
    "collect": {
      "url": [
        "http://localhost:3000",
        "http://localhost:3000/about",
        "http://localhost:3000/pricing"
      ],
      "startServerCommand": "npm run start",
      "startServerReadyPattern": "ready on port",
      "numberOfRuns": 3,
      "settings": {
        "preset": "desktop",
        "throttling": {
          "rttMs": 40,
          "throughputKbps": 10240,
          "cpuSlowdownMultiplier": 1
        }
      }
    },
    "assert": {
      "preset": "lighthouse:recommended",
      "assertions": {
        "categories:performance": ["error", {"minScore": 0.9}],
        "categories:accessibility": ["error", {"minScore": 0.9}],
        "categories:best-practices": ["warn", {"minScore": 0.9}],
        "categories:seo": ["error", {"minScore": 0.9}],
        "first-contentful-paint": ["warn", {"maxNumericValue": 2000}],
        "largest-contentful-paint": ["error", {"maxNumericValue": 2500}],
        "total-blocking-time": ["error", {"maxNumericValue": 300}],
        "cumulative-layout-shift": ["error", {"maxNumericValue": 0.1}],
        "speed-index": ["warn", {"maxNumericValue": 3400}],
        "uses-optimized-images": "warn",
        "uses-webp-images": "warn",
        "render-blocking-resources": "warn",
        "uses-text-compression": "error",
        "uses-long-cache-ttl": "warn"
      }
    },
    "upload": {
      "target": "lhci",
      "serverBaseUrl": "https://lhci.mysite.com",
      "token": "${LHCI_TOKEN}"
    }
  }
}

Интеграция с GitHub Actions

Добавляем workflow для запуска на каждый PR:

# .github/workflows/lighthouse.yml
name: Lighthouse CI
on:
  pull_request:
    branches: [main]
jobs:
  lighthouse:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 20
          cache: npm
      - run: npm ci
      - run: npm run build
      - name: Run Lighthouse CI
        run: |
          npm install -g @lhci/cli
          lhci autorun
        env:
          LHCI_GITHUB_APP_TOKEN: ${{ secrets.LHCI_GITHUB_APP_TOKEN }}
          LHCI_TOKEN: ${{ secrets.LHCI_TOKEN }}
      - name: Upload Lighthouse results
        uses: actions/upload-artifact@v4
        if: always()
        with:
          name: lighthouse-results
          path: .lighthouseci/

Сохранение истории с LHCI Server

Для хранения трендов разворачиваем LHCI Server через Docker Compose:

services:
  lhci-server:
    image: patrickhulce/lhci-server:latest
    environment:
      LHCI_STORAGE__SQL_DATABASE_URL: "postgresql://lhci:secret@db/lhci"
    ports:
      - "9001:9001"
    volumes:
      - lhci_data:/data
  db:
    image: postgres:15
    environment:
      POSTGRES_DB: lhci
      POSTGRES_USER: lhci
      POSTGRES_PASSWORD: secret

После запуска создаём проект через lhci wizard или API — это позволяет видеть графики метрик.

Разные пороги для разных страниц

Используем assertMatrix, чтобы задать индивидуальные требования для каждой страницы:

"assertMatrix": [
  {
    "matchingUrlPattern": ".*/$",
    "assertions": {
      "categories:performance": ["error", {"minScore": 0.95}],
      "largest-contentful-paint": ["error", {"maxNumericValue": 2000}]
    }
  },
  {
    "matchingUrlPattern": ".*/dashboard.*",
    "assertions": {
      "categories:performance": ["warn", {"minScore": 0.8}],
      "largest-contentful-paint": ["warn", {"maxNumericValue": 4000}]
    }
  }
]

Какие пороги стоит выставить для разных страниц?

Пороги зависят от типа страницы. Для главной и landing допустимы строгие значения (LCP < 2.5 с, CLS < 0.1). Для административных панелей или дашбордов можно ослабить (LCP < 4 с). Мы помогаем определить оптимальные пороги на основе аналитики и бизнес-целей. Свяжитесь с нами — мы проведём аудит и предложим оптимальные значения.

Страница LCP (мс) CLS Performance score
Главная 2000 0.05 0.95
Каталог 2500 0.1 0.9
Dashboard 4000 0.2 0.8

Performance Budget как альтернативный подход

Вместо или в дополнение к порогам Lighthouse можно использовать Performance Budget — ограничение на размер ресурсов. Например, ограничить скрипты до 300 КБ, изображения до 500 КБ, общий вес до 1 МБ. Это работает через бюджетный файл или настройки сборщика.

Метрика Ручной аудит Lighthouse CI
Время проверки одной страницы 15–30 мин 2–3 мин
Регулярность Раз в месяц Каждый PR
Точность Зависит от исполнителя Стабильные метрики
Стоимость за 100 проверок Существенная Бесплатно (только время настройки)

Что входит в настройку Lighthouse CI под ключ?

  • Конфигурация lighthouserc.json с порогами под ваш проект
  • Интеграция с CI/CD (GitHub Actions, GitLab CI, Jenkins)
  • Развёртывание LHCI Server (Docker) для хранения истории
  • Дашборд отчётов с трендами метрик
  • Обучение команды (1 час) и инструкция по добавлению новых страниц
  • Поддержка 2 недели после запуска

Типичные ошибки при настройке

  • Неправильный startServerReadyPattern — сборщик ждёт вечно
  • Отсутствие numberOfRuns: 3 — результат может быть случайным
  • Игнорирование uses-text-compression — тяжёлый текстовый контент
  • Забытая переменная LHCI_GITHUB_APP_TOKEN — нет комментирования PR

Сроки и стоимость

Ориентировочный срок — 1–2 рабочих дня. Стоимость рассчитывается индивидуально в зависимости от количества страниц и сложности конфигурации. Оставьте заявку на настройку Lighthouse CI — мы оценим ваш проект и предложим решение. Получите консультацию прямо сейчас.

Гарантируем: после настройки каждый деплой будет проверяться автоматически, а регрессии — блокироваться. Опыт внедрения на 50+ проектах подтверждает эффективность подхода.

Наши компетенции:

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1393
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1139
  • Разработка веб-сайта для компании ФИКСПЕР
    Разработка веб-сайта для компании ФИКСПЕР
    1060