Оценка влияния на производительность популярных дополнений в Chrome

Оценка влияния на производительность популярных дополнений в Chrome

21.06.20
Опубликованы результаты исследования влияния на производительность браузера тысячи наиболее популярных дополнений к Chrome. Показано, что некоторые дополнения могут достаточно сильно влиять на производительность и создавать большую нагрузку на систему, а также в разы увеличивать потребление памяти. При тестировании оценивалось создание нагрузки на CPU в активном и фоновом режимах, потребление памяти и влияние на скорость отображения открываемых страниц. Результаты представлены в двух выборках, охватывающих 100 и 1000 самых популярных дополнений.

Из 100 самых популярных дополнений наиболее сильно нагружающими CPU признаны дополнения "Evernote Web Clipper" (4 млн пользователей) и "Grammarly" (10 млн пользователей), которые приводят к трате дополнительных 500 мс процессорного времени при открытии каждой страницы (для сравнения открытие тестового сайта без дополнений расходует 40 мс). В общем виде 20 дополнений потребляют больше 100 мс, а 80 меньше 100 мс. Из неожиданных открытый стало относительно большое потребление ресурсов дополнением Ghostery, съедающим 120 мс времени CPU. Менеджер паролей LastPass съедал 241 мс, а Skype - 191 мс. Указанные ресурсы не приводят к остановке отрисовки, но блокируют начало взаимодействия со страницей и влияют на потребление энергии устройством.

0_1592680636.webp
При выборке из 1000 дополнений встречаются дополнения, создающие существенно более ощутимую нагрузку:

0_1592682566.webp
В тесте на задержку отрисовки страницы дополнения Clever, Grammarly, Cash Back for Shoping, LastPass и AVG замедляли открытие на 150-300 мс, в некоторых случаях внося задержки сопоставимые с отрисовкой самой страницы. В целом ситуация нормальная, так как из 100 дополнений только 6 приводят к задержке более 100 мс.

0_1592681260.webp
Результаты выборки из 1000 дополнений:

0_1592682645.webp
При оценке нагрузки на CPU, создаваемой при выполнении дополнением фоновых операций, проявило себя дополнение Avira Browser Safety, которое потратило почти 3 секунды времени CPU, в то время как затраты других дополнений не превышали 200 мс. Так как фоновый режим обычно используется для обработки сетевых запросов, выполняемых в процессе открытия страницы, тест был повторён на сайте apple.com, который делает 50 запросов вместо одного. Результаты изменились и в лидеры по созданию нагрузки выбился Ghostery, а Avira Browser Safety сместился на 9 место (разбор показал, что нагрузка снизилась из-за присутствия сайта apple.com в белом списке).

0_1592682126.webp
Результаты тестов 1000 дополнений:

0_1592682680.webp
  • В тесте на потребление памяти первое место заняло дополнение Avira Browser Safet, потребление памяти которым составило 218 МБ (из-за обработки более 30 тысяч регулярных выражений, хранимых в памяти). На втором и третьем местах оказались Adblock Plus и Adblock, потребляющие чуть меньше 200 МБ. Замыкает 20 худших по потреблению памяти - uBlock Origin, съедающий менее 100 МБ (при сравнении с другими блокировщиками рекламы, у uBlock Origin одно из самых низких потребления памяти, см. ниже сравнение блокировщиков). 0_1592682495.webp
    20 худших показателей при тестовании 1000 дополнений:
    0_1592682699.webp
    Так как часто пользователь списывает низкую производительность и возникающие задержки на браузер, а не на установленные дополнений, компания Google начала эксперименты с информированием о проблемных дополнениях. В стабильном выпуске Chrome 83 появилась настройка "chrome://flags/#extension-checkup", включающая вывод информационных сообщений о возможном влиянии дополнений на конфиденциальность и производительность. При включении опции на странице новой вкладки и в менеджере дополнений начинает показываться предупреждение о том, что дополнения могут привести к потреблению значительных ресурсов или получить доступ к персональным данным и активности пользователя.


    Отдельно проведено сравнение дополнений для блокировки рекламы и обеспечения конфиденциальности, в контексте экономии ресурсов за счёт блокирования внешних скриптов и рекламных вставок. Все дополнения обеспечили снижение нагрузки как минимум в три раза при обработке тестовой статьи из одного из новостных сайтов. Лидером стало дополнение DuckDuckGo Privacy Essentials, при использовании которого нагрузка при открытии тестовой страницы снизилась с 31 сек до 1.6 сек времени СPU за счёт снижения числа сетевых запросов на 95% и размера загружаемых данных на 80%. Близкий результат показал uBlock Origin.
    0_1592683009.webp
    DuckDuckGo Privacy Essentials и uBlock Origin также оказались лучшими при оценке потребления ресурсов при выполнении фоновых операций.
    0_1592683389.webp
    При тестировании потребления памяти, DuckDuckGo Privacy Essentials и uBlock Origin позволили снизить расход памяти с 536 MB при полной обработке тестовой страницы до ~140 MB.
    0_1592683633.webp
    Аналогичное тестирование проведено для дополнений для web-разработчиков. Нагрузка на CPU:
    0_1592683777.webp
    Нагрузка на CPU при выполнении фоновых операций
    0_1592683815.webp
    Задержки отрисовки:
    0_1592683793.webp
    Потребление памяти:
    0_1592683832.webp


OpenNet
 
Назад
Сверху Снизу