🧪 Что это
Performance Benchmark — это инструмент для замера производительности фронтенда, бэкенд-API и сборочных процессов. Он помогает выявлять регрессии до и после PR, фиксировать baseline проекта и проверять, укладывается ли стек в целевые показатели (например, LCP < 2.5 с или размер JS-бандла < 200 КБ).
Скилл подходит командам, которые хотят автоматизировать performance-тестирование в CI/CD и не пропустить момент, когда «стало медленнее».
⚙️ Как работает
Скилл поддерживает четыре режима работы, каждый запускается своей командой или сценарием.
Режим 1: Page Performance (страницы)
Через browser MCP скилл открывает указанные URL и собирает Core Web Vitals, а также объём ресурсов:
LCP (крупнейшая отрисовка контента) — цель < 2.5 с
CLS (сдвиг макета) — < 0.1
INP (отзывчивость на взаимодействие) — < 200 мс
FCP (первая отрисовка контента) — < 1.8 с
TTFB (время до первого байта) — < 800 мс
- Полный вес страницы (target < 1 МБ), JS (gzip < 200 КБ), CSS, изображения, скрипты третьих сторон
- Количество сетевых запросов и блокирующие рендеринг ресурсы
Режим 2: API Performance (эндпоинты)
Для каждого API-эндпоинта выполняется 100 запросов, замеряются перцентили задержки:
- p50, p95, p99 latency
- Размер ответа, коды статусов
- Тест под нагрузкой: 10 одновременных запросов
- Сравнение с целевыми SLA (соглашение об уровне обслуживания)
Режим 3: Build Performance (сборка)
Измеряет этапы разработческого цикла:
- Холодная сборка (
cold build)
- Горячая перезагрузка (
HMR — Hot Module Replacement)
- Продолжительность тестового набора
- Время проверки TypeScript
- Время линтинга
- Время сборки Docker-образа
Режим 4: Before/After Comparison (до/после)
Сценарий для оценки влияния изменений в коде:
/benchmark baseline # сохраняет текущие метрики
# ... внесение правок ...
/benchmark compare # сравнивает с сохранённым baseline
Результат — таблица с колонками: Метрика, До, После, Дельта, Вердикт (✓ BETTER / WARNING / REGRESSION).
Хранение результатов
Все baseline сохраняются в каталоге .ecc/benchmarks/ в формате JSON. Файлы отслеживаются Git, поэтому вся команда использует единые эталоны.
📌 Когда использовать
- Перед и после PR — чтобы убедиться, что изменения не сломали скорость
- При настройке performance-тестов на новом проекте
- Когда пользователи жалуются «тормозит» — объективные цифры вместо догадок
- Перед релизом — проверка, достигнуты ли целевые метрики
- При сравнении альтернатив (например, фреймворк А против фреймворка Б)
⚠️ Важно знать
- Для работы требуется browser MCP (режим страниц).
- В CI рекомендуется запускать
/benchmark compare на каждый PR (интеграция с пайплайном).
- Хорошо сочетается со скиллами
/canary-watch (мониторинг после деплоя) и /browser-qa (полный пре-релизный чеклист).
- Baseline'ы привязаны к окружению — при смене хост-машины или браузера метрики могут отличаться, поэтому важно пересоздавать baseline на стабильном CI-окружении.
Комментарии
Комментариев пока нет. Будьте первым.