Розробник Evert Pot опублікував дослідження, в якому порівнюються протоколи HTTP/1.1, HTTP/2 та HTTP/2 + Server Push. Оцінюється їхня продуктивність, методи отримання колекції ресурсів через ці протоколи, вплив даних в кеші та маніпуляцій з ресурсами на рівні логіки роботи застосунку (об'єднання ресурсів в єдиний JSON-блок).
Для першого тестування дослідник виконав 25 запитів. Результати виявились цілком передбачуваними: найповільніше запити передаються через HTTP/1.1 На другому місці індивідуальні HTTP/2-ріквести, цей результат дещо покращується за допомогою кешування або пуш-методу.
На цьому етапі продуктивність Firefox і Chrome була приблизно однаковою, але наявність даних в кеші не покращила ефективність, як очікувалось.
Однак під час більшого тесту Chrome працював повільніше за Firefox, коли передавалась значна кількість запитів. Firefox відставав від Chrome, коли застосовувався Server Push та під час використання HTTP/2 (і більшість даних тоді була в браузерному кеші).
Тож Chrome ефективніше працює з кешем, а Firefox краще обробляє зовнішні запити.
Тест на 500 запитів:
Той самий тест, але без найповільніших результатів:
Дослідник дійшов висновку, що HTTP/2 ефективно обробляє розділені запити великої колекції ресурсів. Об'єднання ресурсів у єдиний блок зазвичай мало впливає на результат, є зміст це робити, лише коли продуктивність має найвищий пріоритет. Якщо ж важливіше спростити логістику й API, найкращим варіантом буде роздільне опрацювання ресурсів.
Також з'ясувалось, що браузерний кеш з HTTP/2 не дуже впливає на ефективність обробки запитів. Server Push суттєво допомагає роботі Chrome, коли ресурсів стає багато, а от з Firefox він не надто ефективний.
Ще немає коментарів