Skip to main content

Метрики для оцінки продуктивності

1. Метрики продуктивності фронтенду (браузера)

Ці метрики оцінюють, наскільки швидко і плавно сторінка завантажується і реагує:

МетрикаЩо вимірюєХороше значення
FCP (First Contentful Paint)Час до першого відображеного контенту (текст, картинка)< 1,8 сек
LCP (Largest Contentful Paint)Час до відображення найбільшого елемента контенту (наприклад, банера, картинки)< 2,5 сек
FID (First Input Delay)Затримка між першою дією користувача (клік, скрол) і реакцією сторінки< 100 мс
INP (Interaction to Next Paint)Наскільки швидко інтерфейс реагує на дії користувача (нова метрика, замінює FID)< 200 мс
CLS (Cumulative Layout Shift)Наскільки сильно зміщується контент під час завантаження< 0,1
TTFB (Time To First Byte)Час до отримання першого байта відповіді від сервера< 0,6 сек
TBT (Total Blocking Time)Загальний час, коли основний потік (main thread) заблокований і не може реагувати< 200 мс

Ці метрики збираються через:

  • Lighthouse, PageSpeed Insights
  • Performance API (performance.getEntriesByType('navigation'))
  • Web Vitals SDK

2. Метрики продуктивності JavaScript

Для оцінки швидкості виконання JS-коду та ефективності:

МетрикаЩо оцінює
Execution timeЧас виконання ділянки коду (наприклад, з console.time() / performance.now())
Memory usageСпоживання пам'яті (performance.memory.usedJSHeapSize)
Garbage collection timeЧастота і тривалість GC-пауз
Event loop lag / latencyНаскільки сильно блокується головний потік
FPS (Frames per second)Частота оновлення інтерфейсу (повинно бути 60 FPS)
Recalculate Style / Layout / Paint timeЧас, витрачений на відмальовування і перебудову DOM
Script parse/compile timeЧас парсингу і компіляції JS-файлів

Використовують інструменти:

  • Chrome DevTools -> Performance
  • React Profiler / Vue DevTools
  • Lighthouse -> вкладка "Diagnostics"

3. Метрики продуктивності бекенда

Якщо йдеться про Node.js, NestJS, Express або API-сервіс:

МетрикаЩо показує
Response Time / LatencyСередній час відповіді сервера
Throughput (RPS)Кількість запитів на секунду
Error rateЧастка неуспішних запитів (4xx/5xx)
CPU usageЗавантаженість процесора
Memory usage (RSS, heap)Використання пам'яті
Event loop delayНаскільки блокується event loop
DB query timeСередній час виконання SQL-запитів
Cache hit ratioЕфективність кешування

Для вимірювання:

  • Prometheus + Grafana
  • New Relic, Datadog, Sentry Performance
  • Вбудований performance API Node.js

4. Метрики користувацького досвіду (UX Perf Metrics)

МетрикаЩо відображає
TTI (Time To Interactive)Коли сторінка стає повністю інтерактивною
TBT + INPНаскільки комфортно взаємодіяти
User timing marksВласні точки в performance.mark() і measure()
Perceived performanceСуб'єктивне відчуття "швидкості" через skeletons, lazy load, prefetch

5. Інтегровані індекси

МетрикаСкладова характеристика
Speed IndexНаскільки швидко весь контент візуально завантажується
Performance Score (Lighthouse)Комплексна оцінка за шкалою 0-100
Core Web Vitals ScoreМетрика Google для SEO і UX

Резюме

Для браузера - FCP, LCP, INP, CLS, TBT Для JS-коду - Execution time, memory, FPS, GC Для сервера - Latency, RPS, CPU, DB time Для UX - TTI, Speed Index, User timings

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.