Назад

Delivery Hero перевела більшість користувачів на HTTP/3 і скоротила час відповіді головного екрана на 17%
SiTech AI Team2 хв читання

Delivery Hero перевела більшість користувачів на HTTP/3 і скоротила час відповіді головного екрана на 17%

На віртуальній конференції P99 2026 інженер Delivery Hero Elvis Chidera сказав, що переведення більшості користувачів на HTTP/3 скоротило наскрізний час відповіді головного екрана на 17%, а затримку рукостискання на 51%.

На віртуальній конференції P99 2026 інженер Delivery Hero Elvis Chidera сказав, що компанія перевела близько 95 відсотків користувачів на HTTP/3 і скоротила наскрізний час відповіді головного екрана застосунків на 17 відсотків. Зміна також зменшила затримку рукостискання на 51 відсоток, тоді як деякі пристрої поверталися до HTTP/2 там, де трафік UDP був заблокований.

Чому Delivery Hero знадобився HTTP/3

Delivery Hero має орієнтовно 60 мільйонів користувачів у Європі, Латинській Америці, Африці, на Близькому Сході та в Азії, із застосунками Foodpanda, Yemeksepeti, Glovo і PedidosYa. Uber зараз купує Delivery Hero за 14,8 мільярда доларів, із планами об'єднати її з Uber Eats. Якість мережевого з'єднання сильно відрізняється, а мережа останньої милі часто була вузьким місцем. У Пакистані застосункам могло знадобитися майже секунда на P90, щоб встановити безпечне рукостискання з сервером.

Компанія розглядала HTTP/3 як спосіб знизити цю затримку. HTTP/3 використовує QUIC поверх UDP замість TCP і може використовувати 0-RTT, щоб починати надсилати придатні дані застосунку, поки рукостискання ще триває. Він також уникає блокування на початку черги, надсилаючи пакети в кілька потоків.

Впровадження та налаштування Android

Оскільки Delivery Hero використовує мережу доставки вмісту Cloudflare, перехід на HTTP/3 потребував простого переналаштування. Apple підтримує HTTP/3 з iOS 15, а більшість нативних браузерів уже підтримують його. Android виявився складнішим: інженери використали бібліотеку Google Cronet, спочатку через обгортку Cronet Transport for OkHttp, щоб підтримати HTTP/3, мінімізуючи зміни коду.

Рушій Cronet потребував близько 800 мілісекунд для ініціалізації на P90, що поглинало частину переваг швидкості HTTP/3. Команда відгалузила код у власний міст за допомогою OKCronet і перекрила ініціалізацію з іншими фоновими завданнями. Загалом затримка P95 знизилася з 1,2 секунди до 120 мілісекунд, що означає 10-кратне покращення затримки читання.

Проблема з втратою пакетів, що залишилася

Пристрої, які не могли використовувати HTTP/3, переважно через те, що мережі блокували трафік UDP, автоматично поверталися до HTTP/2. Час відповіді в Пакистані скоротився вдвічі. Однак вторинні екрани на деяких ринках, схильних до втрати пакетів, таких як Пакистан, мали проблеми із затримкою.

Delivery Hero пов'язала ці проблеми з використанням Cloudflare алгоритму контролю перевантаження Cubic, який не дуже добре справляється з втратою пакетів. Тести з серверами Google, що підтримують HTTP/3, з використанням BBR не застрягали на втраті пакетів. Компанія працює з Cloudflare над вирішенням проблеми.

Джерела: The Register

Поділитися цифровим досвідом

SiTech

SiTech — веброзробка з підтримкою AI

Створюємо швидкі та сучасні сайти й інтегруємо AI у бізнес-процеси. Маєте проєкт чи запитання? Із задоволенням допоможемо.