Скорость
Core Web Vitals, LCP, INP, CLS, шрифты, изображения, JavaScript, кеширование и влияние внешних скриптов.
Материалы
- Модель измерения производительности сайта
Задаём сценарий, условия и наблюдаемый результат, чтобы сравнивать версии веб-страницы и объяснять причины задержек.
- Лабораторные и полевые данные производительности
Разбираем контролируемое сравнение, реальные посещения, процентиль и причины расхождения отчётов о скорости сайта.
- Чтение сетевого водопада запросов
Находим инициатора запроса, различаем ожидание ответа и получение ресурса, читаем зависимости сетевой загрузки.
- От полученного документа к показанному кадру
Исследуем критический путь отображения: разбор HTML, стили, layout, paint и работу JavaScript перед появлением содержимого.
- Поиск причины позднего Largest Contentful Paint
Находим LCP-элемент, разделяем ответ документа, обнаружение, доставку и ожидание отображения, проверяем гипотезу одного изменения.
- Изображения под ширину экрана и плотность пикселей
Связываем CSS-размер, DPR, srcset и sizes, проверяем выбранный ресурс и сохраняем качество содержимого.
- Диагностика шрифтов: от запроса к фактическому начертанию
Связываем CSS, запрос шрифта и фактическое начертание через DevTools, Resource Timing и FontFaceSet, затем проверяем причинную гипотезу.
- Неожиданные сдвиги и Cumulative Layout Shift
Находим источник движения текста, резервируем геометрию изображений и уведомлений, отличаем диагностику сдвигов от полного CLS.
- Отклик интерфейса и Interaction to Next Paint
Разбираем ожидание события, обработку и показ кадра, исследуем фильтр карточек и не подменяем INP временем функции.
- Стоимость JavaScript и порционная обработка
Разделяем длинную работу на порции, передаём управление браузеру и отменяем устаревший результат фильтра карточек.
- HTTP-кеш в измерении повторной загрузки
Различаем холодную доставку, свежий ответ и проверку версии, читаем Cache-Control и сохраняем согласованность изменяемых ресурсов.
- Бюджет производительности и решение об изменении
Задаём ограничения под сценарии, оцениваем отдельные ресурсы и пользовательские метрики, фиксируем исключения и неизвестные результаты.
- План сбора полевых метрик
Проектируем диагностическую запись посещения, различаем отсутствие данных и ноль, ограничиваем жизненный цикл и состав собираемых сведений.
- Процентили и сегменты скорости
Рассчитываем p75 на синтетическом наборе, исследуем хвост распределения, пропуски и влияние состава сравниваемых групп.
- Холодная загрузка и возврат на страницу
Разделяем действие навигации, состояние HTTP-кеша и восстановление документа, чтобы сравнивать одинаковые сценарии посещения.
- Возврат страницы из back-forward cache
Исследуем восстановление документа по истории, проверяем persisted и сохранённое состояние, отделяем bfcache от HTTP-кеша и повторной инициализации.
- Подсказки браузеру о ресурсах
Выбираем preload или preconnect под обнаруженную задержку, проверяем идентичность запроса и цену ранней доставки других ресурсов.
- Отложенная загрузка ресурсов
Отделяем ресурсы первого экрана от будущего просмотра, исследуем native lazy loading и сохраняем размеры, доступность и результат прокрутки.
- Стоимость сторонних скриптов
Разделяем доставку, исполнение и изменения DOM сторонней зависимости, строим контролируемый эксперимент с локальным mock-widget.
- Размер DOM и стоимость стилей
Отделяем объём данных от элементов документа, исследуем пересчёт стилей и layout, ограничиваем показ без потери доступа к материалам.
- Длинные списки и виртуализация
Сравниваем полный, постраничный и оконный список, рассчитываем геометрию фиксированной строки и проверяем ограничения поиска и доступности.
- Профиль мобильной сети
Разделяем задержку сети, пропускную способность и CPU, строим сопоставимую матрицу сценариев и проверяем границы мобильной эмуляции.
- Сжатие ресурсов
Проверяем фактически доставленное HTTP-представление, различаем размеры до и после декодирования и сохраняем одинаковое содержимое при сравнении.
- Разбор регрессии скорости
Отделяем сигнал ухудшения от его причины, проверяем сопоставимость данных и оформляем решение с функциональными условиями и границами уверенности.