42

Сравнение производительности HTTP/1.1, HTTP/2 и HTTP/2 + Server Push

Опубликованы результаты изучения производительности различных методов извлечения коллекции ресурсов, используя для обращения к серверу протоколы HTTP/1.1, HTTP/2 и HTTP/2 + Server Push. В исследовании также оценено влияние на производительность нахождение запрашиваемых данных к кэше браузера и манипуляции ресурсами на уровне логики работы приложения (сведение ресурсов в единый JSON-блок).


Тестирование производительности выполнения 25 запросов показало в целом предсказуемые результаты - заметное отставание запроса через HTTP/1.1 при пустом кэше и лидирование отдачи ресурсов одним блоком (тесты с меткой "compound"). Производительность Firefox и Chrome была примерно на одном уровне, но наличие данных в кэше не привело к ожидаемому росту эффективности

Но в тесте на обработку 500 запросов всплыло заметное отставание Chrome от Firefox при передаче большого числа запросов и отставание Firefox от Chrome при применении механизма Server Push и в ситуации использования HTTP/2 при наличия большей части данных в браузерном кэше. Chrome показал более эффективную работу с кэшем, а Firefox более эффективную обработку внешних запросов.

По итогам тестов сделан вывод, что HTTP/2 позволяет достаточно эффективно обрабатывать раздельные запросы большой коллекции ресурсов. Отличия производительности простых схем раздельной отдачи ресурсов от методов, в которых ресурсы агрегируются в один блок, не столь существенны, чтобы оправдать значительное усложнение логики обработки на стороне приложения и сервера. Агрегирование имеет смысл только в ситуациях, в которых производительность имеет наивысший приоритет. Когда важнее упрощение логики и простой API, имеет смысл использовать раздельную обработку ресурсов.


Другим выводом является то, что браузерный кэш при использовании HTTP/2 не оказывает значительного влияния на производительность обработки запросов (полное выполнение 501 запроса оказалось медленнее выполнения 51 запроса при 90% наполнении кэша всего в 1.2 раза в Firefox и 2.3 раза в Chrome). Использование Server Push не показало существенной выгоды в Firefox, но оказалось эффективным при загрузке большого числа ресурсов в Chrome. Авторы исследования также отметили, что оптимизация серверной части оказывает более существенное влияние на производительность, чем оптимизация выполняемого в браузере клиентского кода.

GNU/Linux

1.2K поста15.6K подписчиков

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества