На последнем графике представлено только 5 расширений. Дело в том, что и без установленных расширений сайт загружается дольше 3 секунд. А чем дольше загружается сайт, тем сложнее отличить случайную задержку от реального влияния расширения.
Спустимся немного ниже и посмотрим на чуть менее популярные расширения, каждое из которых было загружено по меньшей мере 100 000 раз.
С Ubersuggest (полезный маркетинговый инструмент с 200 000 пользователей) при загрузке каждой открываемой страницы ваш процессор будет трудиться на 1,6 секунд дольше.
Расширение Substitutions автоматически заменяет в тексте определённые слова. На сравнительно простых сайтах оно мало влияет на производительность, добавляя около 10 миллисекунд к общему времени загрузки. Но на тяжёлых сайтах (вроде toyota.com) время нагрузки на ЦП увеличится до 9,7 секунд.
Расширение Avira Browser Safety и некоторые блокировщики рекламы также могут задерживать начало отрисовки содержимого страницы.
|
Влияние расширений на время отрисовки страницы (на примере toyota.com) |
1 000 самых популярных расширений
Если мы обратим взор на 1 000 самых популярных расширений из Chrome Web Store, то увидим, что расширение под нечитаемым для большинства пользователей названием 壹伴 · 小插件 замедляет отрисовку на 342 миллисекунды, а расширение Outreach Everywhere добавляет примерно 251 миллисекунду задержки.
|
Влияние расширений на время отрисовки страницы (на примере example.com) |
При загрузке главной страницы сайта Toyota расширение anonymoX (анонимный прокси) задерживает отрисовку контента на 2 секунды, но в данном случае это можно объяснить маршрутизацией трафика через сторонний сервер.
Avira Browser Safety задерживает рендеринг на 369 миллисекунд, однако связано это не с кодом, который выполняется на конкретной странице, а с работой фоновых процессов самого расширения.
|
Влияние расширений на время отрисовки страницы (на примере toyota.com) |
Фоновая нагрузка на ЦП
Расширения из Chrome Web Store могут запускать код не только на посещаемых вами страницах, но и в фоне, то есть на тех страницах, которые принадлежат самому расширению. К примеру, на таких страницах могут содержаться правила блокировки запросов к конкретным доменам.
Расширение Avira Save Shopping даже при загрузке простых страницы нагружает процессор на 2 секунды дольше.
|
Фоновая нагрузка на ЦП (на примере example.com) |
Если речь идёт о тяжёлых сайтах (например, об официальном сайте Toyota), менеджер паролей Dashline и блокировщик рекламы AdGuard также тратят около 2 секунд на прогрузку фоновых процессов.
|
Фоновая нагрузка на ЦП (на примере toyota.com) |
1 000 самых популярных расширений
При просмотре новостных статей The Independent трём наиболее прожорливым расширениям из Chrome Web Store (uberAgent, Dashline и Wappalyzer) требуется больше 20 секунд дополнительной нагрузки на ЦП в фоновом режиме.
|
Фоновая нагрузка на ЦП (на примере The Independent) |
Потребление оперативной памяти
Расширения сами по себе потребляют определённый объём оперативной памяти. Кроме того, расширения могут увеличивать и объём RAM, необходимой для работы каждой открытой вкладки. Чем больше открытых вкладок и чем больше установленных расширений, тем ниже производительность. Особенно это касается устройств с низкими техническими характеристиками.
Максимальный объём оперативной памяти забирают себе блокировщики рекламы и инструменты защиты конфиденциальности: им приходится работать с большим количеством данных о сайтах, на которые может попасть пользователь. Однако использование подобных расширений гипотетически может снизить объём необходимой для работы сайта оперативной памяти, так как без рекламных банеров и скрытых трекеров сайту требуется гораздо меньше ресурсов.
|
Потребление дополнительной оперативной памяти (на примере toyota.com) |
1 000 самых популярных расширений
По потреблению дополнительной оперативной памяти и среди 1 000 самых популярных расширений лидируют всё те же блокировщики рекламы: Trustnav, к примеру, вообще умудрился отхватить себе почти 300МБ RAM.
|
Потребление дополнительной оперативной памяти (на примере toyota.com) |
Как блокировщики рекламы и трекеров влияют на производительность?
Блокировщики рекламы могут стать причиной заметной задержки в отрисовке лёгких страниц. Однако, когда речь заходит о достаточно тяжёлых сайтах, блокировщики нежелательного контента действительно способны снизить нагрузку и существенно ускорить загрузку страниц. В этом разделе мы рассмотрим 15 популярных блокировщиков, у каждого из которых больше полумиллиона установок.
Работа скрытых трекеров и отрисовка рекламных банеров требуют значительных затрат ресурсов вашего ПК. Но характер такой нагрузки зависит от конкретного сайта. Новостные сайты часто усыпаны рекламой, поэтому именно там мы и проверяли работу блокировщиков. В качестве примера мы выбрали The Independent и Pittsburg Post-Gazette.
Без блокировки рекламы время нагрузки на ЦП составляет 17,5 секунды. Даже самый малоэффективный блокировщик из нашего списка (Trustnav) сокращает время нагрузки на ЦП до 7,4 секунды, то есть на 57%.
Самым эффективным блокировщиком оказался Ghostery. Он снижает время активной работы процессора на 90% (в среднем до 1,7 секунды).
|
Влияние блокировщиков рекламы на скорость загрузки страницы |
По заверениям
Реймонда Хилла, разработчика
uBlock Origin, его расширение должно существенно
снижать нагрузку на ЦП. И это действительно так: для отрисовки страниц требуется гораздо меньшее время нагрузки на ЦП. Вот только и само расширение в фоновом режиме также напрягает ЦП, и в некоторых случаях прирост производительности будет не таким уж существенным.
Фоновые процессы редко влияют на производительность открытых страниц, но всё же могут замедлить работу компьютера в целом.
|
Нагрузка на ЦП при использовании различных блокировщиков рекламы |
Кроме того блокировщики рекламы и инструменты защиты конфиденциальности существенно снижают объём необходимого для загрузки страницы трафика: в среднем от 43 до 66%.
|
Влияние блокировщиков нежелательного контента на интернет-трафик |
По умолчанию каждая статья делает в среднем 793 сетевых запроса. С Ghostery этот показатель снизился на 90% (до 83 запросов).
|
Влияние блокировщиков на число сетевых запросов |
Без блокировщиков нежелательного контента объём оперативной памяти, необходимой для работы открытой вкладки, в среднем составлял 574МБ. Disconnect снизил этот показатель до 260МБ (то есть на 54%).
Однако, поскольку и самому расширению требуется некоторый объём оперативной памяти, некоторые расширения (к примеру, Trustnav) наоборот слегка увеличивают общее потребление RAM. В этом случае экономия от блокировки рекламы нивелируется дополнительными затратами на её блокировку.
Обратите внимание: всё сказанное выше применимо лишь в том случае, когда у вас открыта только одна тяжёлая страница. Если вы откроете, скажем, 10 тяжёлых сайтов, общее потребление RAM существенно вырастит, однако объём памяти, необходимой для работы самого блокировщика, останется прежнем.
|
Влияние блокировщиков контента на общее потребление памяти |
Что будет, если установить сразу несколько расширений?
В большинстве случаев при установке сразу нескольких расширений негативное воздействие на производительность лишь усилится.
На изображении ниже видно, как меняется
производительность главной страницы сайта apple.com, если у пользователя установлено четыре расширения: Ax Web Accessibility Testing, Evernote Web Clipper, LastPass и Skype. Если расширения запускают свой код одновременно с началом загрузки сайта, это существенно задержит отрисовку страницы.
|
Загрузка apple.com с 4 установленными расширениями |
Сравнение с результатами прошлогодних тестов
96 самых популярных расширений из нашего списка уже попадали к нам на проверку в
прошлом году, и в среднем время нагрузки на ЦП сократилось на 28 миллисекунд.
|
Сравнение результатов 2020 и 2021 гг. |
Однако год назад мы тестировали расширения на Chrome 83, теперь же браузер успел добраться до 91-й версии. Поскольку и сам браузер за это время стал немного быстрее, прирост производительности не обязательно связан с оптимизацией проверяемых расширений.
Поэтому мы провели ещё ряд тестов и проверили работу актуальных версий расширений в старом браузере Chrome 83: в среднем прирост производительности составил около 13 миллисекунд.
|
Сравнение результатов 2020 и 2021 гг. |
Обратите внимание, что в данном случае мы рассматриваем лишь один показатель на одном сайте (пустая тестовая страница example.com).
Grammarly, Microsoft Office, Okta Browser Plugin, Avira Safe Shopping и Avira Browser Safety улучшили свои результаты почти на 100 миллисекунд. А вот Save to Pocket, Loom и Evernote наоборот стали работать медленнее.
Подробнее о конкретных расширениях
Оптимизация Grammarly
В прошлом году для каждой открытой страницы расширение Grammarly загружало файл Grammarly.js размером в 1,3МБ. Теперь на большинстве проверенных сайтов загружается только скрипт Grammarly-check.js весом всего в 112КБ, а полный файл Grammarly.js задействуется только в том случае, если пользователь полностью фокусируется на области с текстом.
Однако на некоторых сайтах расширение по-прежнему загружает полноразмерный скрипт. К таким сайтам относятся, например, Gmail, Twitter, YouTube, LinkedIn, Medium, Slack, Reddit, Upwork, Zendesk и другие популярные сайты, на которых пользователю часто приходится вводить тексты вручную.
Регресс Save to Pocket
В прошлом году расширение Save to Pocket добавляло по одной небольшой таблице стилей для каждой открытой страницы, однако это не оказывало существенного влияния на производительность.
Теперь же для каждой открытой страницы расширение загружает файл JavaScript весом в 2МБ, что добавляет почти 110 миллисекунд к общему времени загрузки страницы, а следовательно и ко времени нагрузки на ЦП.
Evernote, Outreach Everywhere и Ubersuggest
Сейчас Evernote загружает 4,3МБ скриптов для каждой открытой страницы. Год назад для тех же задач расширению хватало 2,9МБ. Чем больше данных, тем дольше выполняется код и тем дольше открывается страница.
Outreach Everywhere загружает 4,5МБ кода для каждой открытой страницы. Однако из-за того, что вместо параметра document_idle расширение использует document_start, на выполнение кода уходит гораздо больше времени и ресурсов, чем могло бы: страница начинает прогружаться лишь тогда, когда весь необходимый расширению код уже загружен. Отсюда и задержки.
Расширение Ubersuggest для каждой страницы загружает файл JavaScript размером в 7,5МБ. Похоже, большую часть этого файла занимают какие-то географические данные (к примеру, список из 38 279 объектов по всему свету).
Avira Save Shopping
У Avira Save Shopping больше 3 миллионов пользователей, и отрисовка страницы для каждого из них начинается почти на полсекунды позже.
Внутри расширения спрятан список из 39 328 надёжных сайтов. При переходе по очередному адресу Avira сперва сверяется со своими списками, а уже потом начинает загружать страницу. Результат ожидаем: страница загружается намного медленнее.
Dashlane и uberAgent
При просмотре статей The Independent оба расширения добавляют чуть больше 20 секунд дополнительной фоновой нагрузки на ЦП.
В ubreAgent, к примеру, для каждого сетевого запроса создаётся специальный таймер, который каждые 50 миллисекунд будет проверять, успела ли завершиться загрузка. А теперь представьте, что одна страница может содержать до тысячи подобных запросов: расширение создаст множество ненужных таймеров и существенно замедлит работу компьютера.
Dashlane работает совсем иначе и вместо сотен небольших задач время от времени выполняет одну большую. И временами на это уходит больше 500 миллисекунд.
Подробнее о каждом расширении
Узнать о том, как именно конкретное расширение влияет на общую производительность браузера можно здесь.
Методология
В ходе эксперимента мы проверили 1 004 расширения. Большая часть из них просто модифицирует пустую вкладку и почти никак не влияет на производительность браузера. В этом случае расширение не попадало в итоговые таблицы. Расширения, которые отказались запускаться или выдавали ошибку, также были исключены из итоговых результатов.
Рассказать друзьям через AddThis или Shareaholic
Translate via Google, Yandex or Bing
The same in English
Комментарии
Отправить комментарий