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

Пятница, 3 января 2020 г.

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e

Опубликованы результаты изучения производительности различных методов извлечения коллекции ресурсов, используя для обращения к серверу протоколы 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. Авторы исследования также отметили, что оптимизация серверной части оказывает более существенное влияние на производительность, чем оптимизация выполняемого в браузере клиентского кода.

Источник: http://www.opennet.ru/opennews/art.shtml? num=52129

Следите за нами в ВКонтакте, Телеграм'e и Twitter'e


Просмотров: 645
Рубрика: Hi-Tech


Архив новостей / Экспорт новостей

Ещё новости по теме:

RosInvest.Com не несет ответственности за опубликованные материалы и комментарии пользователей. Возрастной цензор 16+.

Ответственность за высказанные, размещённую информацию и оценки, в рамках проекта RosInvest.Com, лежит полностью на лицах опубликовавших эти материалы. Использование материалов, допускается со ссылкой на сайт RosInvest.Com.

Архивы новостей за: 2018, 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010, 2009, 2008, 2007, 2006, 2005, 2004, 2003