Инструмент Google Lighthouse не учитывает показатель INP. Адвокат разработчиков веб-производительности из команды Google Chrome объясняет, почему.
- Lighthouse не может измерить INP напрямую из-за отсутствия взаимодействия с пользователем. ли>
- Общее время блокировки служит показателем INP в тестах Lighthouse. ли>
- Настраиваемые потоки пользователей позволяют измерять INP для известных действий пользователя.
- Много длинных блокирующих задач = высокий риск INP!
- Иногда ничего не загружается, пока вы не переместите мышь.
- Часто ваше первое взаимодействие происходит с большей задержкой.”
- Использовать “потоки пользователей” Lighthouse” для измерения INP в обычных поездках.
- Автоматизировать потоки пользователей в CI для мониторинга INP и выявления регрессий.
- Используйте TBT в качестве прокси-сервера INP, но помните о его ограничениях.
- Уделяйте приоритетное внимание полевым измерениям для получения точных данных INP.
- Сбалансируйте оптимизацию производительности с учетом UX.
мл>
Google Lighthouse не использует метрику Interaction to Next Paint (INP) в своих стандартных тестах, несмотря на то, что INP является одним из основных веб-показателей.
<стр>Барри Поллард, представитель разработчиков веб-производительности в Google Chrome, объяснил причину этого и предложил идеи по измерению INP.стр>
Lighthouse измеряет загрузку страницы, а не взаимодействие
Lighthouse измеряет простую загрузку страницы и фиксирует различные характеристики во время этого процесса.
Он может оценить наибольшую отрисовку контента (LCP) и совокупный сдвиг макета (CLS) при определенных условиях нагрузки, выявить проблемы и дать рекомендации по улучшению этих показателей.
Однако INP отличается и зависит от взаимодействия с пользователем.
Поллард объяснил:
“Проблема в том, что Lighthouse, как и многие другие веб-инструменты, обычно просто загружает страницу и не взаимодействует с ней. Нет взаимодействий = нет INP для измерения!”
Настраиваемые пользовательские потоки включения измерения INP
Хотя Lighthouse не может измерить INP, знание общих путей пользователя позволяет вам использовать “потоки пользователей” для измерения INP.
Поллард добавил:
<блоковая цитата><п>“Если вы, как владелец сайта, знаете свои общие действия пользователей, вы можете измерить их в Lighthouse с помощью ‘потоков пользователей’ который затем БУДЕТ измерять INP.”
Эти обычные действия пользователей можно автоматизировать в среде непрерывной интеграции, что позволяет разработчикам тестировать INP при каждом коммите и выявлять потенциальные регрессии.
Общее время блокировки в качестве прокси-сервера INP
Хотя Lighthouse не может измерить INP без взаимодействия, он может измерить вероятные причины, особенно длительные, блокировки задач JavaScript.
Здесь вступает в игру показатель общего времени блокировки (TBT).
По Полларду:
“TBT (общее время блокировки) измеряет суммарное время всех задач длительностью более 50 мс. Теория такова:
<ул>
<ли>Мало длительных блокирующих задач = низкий риск INP!”
мл> блоковая>
Ограничения использования ТБТ в качестве заменителя INP
TBT имеет ограничения в качестве замены INP.
Поллард заметил:
“Если вы не взаимодействуете во время длительных задач, возможно, у вас не возникнет проблем с INP. Кроме того, взаимодействия могут загружать БОЛЬШЕ JavaScript, который не измеряется Lighthouse.”
<п>Он добавляет:стр>
“Так что это подсказка, но не замена фактическому измерению INP.”
блоковая>
Оптимизация показателей Lighthouse в зависимости от пользовательского опыта
Некоторые разработчики оптимизируют показатели Lighthouse, не учитывая влияние на пользователя.
Поллард предостерегает от этого, заявляя:
“Общим шаблоном, который я вижу, является задержка ВСЕХ JS до тех пор, пока пользователь не взаимодействует со страницей: отлично подходит для оценки Lighthouse! Часто ужасно для пользователей 😢:
<ул>
мл> блоковая>
Полный пост Полларда
стр>
Почему это важно
<стр>Понимание взаимоотношений Lighthouse, INP и TBT необходимо для оптимизации взаимодействия с пользователем.стр>
Признание ограничений в измерении INP помогает избежать ошибочной оптимизации.
Совет Полларда по измерению INP — сосредоточиться на реальных взаимодействиях с пользователем, чтобы обеспечить улучшение производительности и улучшение UX.
Поскольку INP остается ключевым элементом сети, понимание его нюансов необходимо для поддержания его в пределах приемлемого порога.
Практическое применение
Для мониторинга производительности сайта и INP:
<ол>
ол>