Компанія Google поділилася подробицями щодо нещодавно представленої функції Chrome, яка змінює спосіб запиту файлів cookie. Перші тести показали підвищення продуктивності на всіх платформах.
У минулому однопроцесні браузери легко керували файлами cookie, оскільки дані зберігалися в пам’яті. Однак сучасні вебпереглядачі, такі як Chrome, використовують кілька процесів для підвищення продуктивності й безпеки.
Chrome запускає новий процес для кожного вікна та кількох інших функцій. Це означає, що метод, який обробляє файли cookie, має працювати з більшою кількістю запитів, що може уповільнити роботу. Про це повідомляє Bleeping Computer.
Фахівці Google виявили, що повторні запити на файли cookie спричиняють багато повільних взаємодій у Chrome.
«Завдяки польовим відстеженням повільної взаємодії ми виявили, що деякі вебсайти запускали неефективні сценарії із файлами cookie, які отримувалися кілька разів поспіль. Ми отримали додаткові показники, щоб виміряти, як часто IPC GetCookieString() був зайвим (те саме значення, що поверталося минулого разу) у всіх навігаціях. Ми були вражені, виявивши, що 87% файлів cookie були зайвими, а в деяких випадках це могло відбуватися сотні разів на секунду», – зазначив представник Google у дописі в блозі.
У деяких випадках, особливо коли кілька сайтів надсилають швидкі запити одночасно, ці запити надсилаються сотні разів на секунду, що спричиняє значні затримки. Зрештою старий спосіб синхронного отримання файлів cookie (по одному) з мережевої служби спричиняв вузьке місце.
Щоб виправити це, Google представив нову систему під назвою Shared Memory Versioning, яка була увімкнена за замовчуванням у березні.
Замість постійної перевірки у мережевій службі тепер Chrome зберігає локальну копію даних cookie та номер версії.
Це дозволяє Chrome перевіряти, чи файл cookie містить останні дані, не надаючи при цьому повторних запитів.
За словами інженерів Google, ця зміна зменшила кількість повідомлень, пов’язаних із файлами cookie, на 80% і прискорила доступ до файлів cookie на 60%.
«Ідея полягає у тому, що кожне значення document.cookie тепер поєднується із монотонно зростаючою версією. Кожен рендерер кешує останнє прочитане document.cookie разом із цією версією. Мережева служба розміщує версію кожного document.cookie у спільній пам’яті. Таким чином, рендерери можуть визначити, чи є у них остання версія, щоб без необхідності не надсилати міжпроцесовий запит до мережевої служби», – пояснили в Google, як працює ця функція.
Під час перших тестів фахівці Google помітили, що оновлення підвищує продуктивність до 5% на всіх платформах.
Як наслідок, все більше вебсайтів передають Core Web Vitals, що відноситься до набору показників для вимірювання продуктивності завантаження сторінок, інтерактивності та візуальної стабільності на реальних пристроях.
Раніше ми повідомляли, що з червня починаються зміни у Google Chrome, які послаблюють блокувальників реклами.
Підписуйтеся на ProIT у Telegram, щоб не пропустити жодної публікації!