JOURNAL / 082025-07-08 · Engineering · 8 мин чтения
← все статьи

Бюджет производительности, который заваливает билд

Core Web Vitals 95+ на мобайле — у нас условие сдачи, а не пожелание. Как мы сделали бюджет частью CI.

Автор Safar Yusupov · frontendОбновлено 2025-07-10

Бюджет, который никто не соблюдает

Все согласны, что скорость важна, и никто её не сторожит. Пороги простые: LCP < 2.5с, INP < 200мс, CLS < 0.1. Мы сделали бюджет гейтом сборки: превысил вес JS или LCP на эталонном профиле — билд красный, мердж не проходит. Не «потом оптимизируем», а «не уехало».

// budget.json — нарушение валит CI
{
  "resourceSizes": [
    { "resourceType": "script", "budget": 170 },
    { "resourceType": "total",  "budget": 400 }
  ],
  "timings": [
    { "metric": "largest-contentful-paint", "budget": 2500 },
    { "metric": "interaction-to-next-paint", "budget": 200 }
  ]
}

Тестируем на дешёвом Android, не на M3

Ноутбук разработчика врёт. Мы гоняем замеры на реальном бюджетном Android под троттлингом 3G — там, где сидит половина аудитории клиента. Главный злодей 2025-го — INP: работа главного потока от гидратации, которую на маке не видно вообще.

TAILWIND DEFAULT — 15 graysOUR PALETTE — 3 grays + 1 accentinkink-dimink-muteaccent
Локально на ноутбуке vs реальный бюджетный телефон

Что реально двигает цифры

  • Серверные компоненты по умолчанию — меньше JS в браузере
  • Третьесторонние скрипты — отложенно или никак
  • Один сабсет шрифта, а не пять начертаний
  • Резервируем место под поздние изображения — нулевой CLS

На Aurora LCP вышел 1.2с на мобайле, на остальных проектах держим 95+. Это не достижение — это порог, ниже которого мы не сдаём.

«Производительность — не настройка в конце. Это бюджет, который ты тратишь с первой строки.»

Что бы сделали иначе

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

Нужен такой же результат?

Расскажите о проекте — пришлём смету за 24 часа.

Получить смету
⌗ ЖУРНАЛ · ПОДПИСКА

Подписка на журнал

Раз в квартал. Никакого спама. Только новые статьи.

без спама · отписка в один клик