Телефон: 8-800-350-22-65
WhatsApp: 8-800-350-22-65
Telegram: sibac
Прием заявок круглосуточно
График работы офиса: с 9.00 до 18.00 Нск (5.00 - 14.00 Мск)

Статья опубликована в рамках: Научного журнала «Студенческий» № 10(30)

Рубрика журнала: Информационные технологии

Скачать книгу(-и): скачать журнал часть 1, скачать журнал часть 2, скачать журнал часть 3, скачать журнал часть 4, скачать журнал часть 5, скачать журнал часть 6

Библиографическое описание:
Дерябин Е.А., Готская И.Б. АНАЛИЗ КРУГОВОЙ ЗАДЕРЖКИ ПРИ ИСПОЛЬЗОВАНИИ ВЕБ-ПРОТОКОЛОВ HTTP И WEBSOCKET // Студенческий: электрон. научн. журн. 2018. № 10(30). URL: https://sibac.info/journal/student/30/108184 (дата обращения: 17.04.2024).

АНАЛИЗ КРУГОВОЙ ЗАДЕРЖКИ ПРИ ИСПОЛЬЗОВАНИИ ВЕБ-ПРОТОКОЛОВ HTTP И WEBSOCKET

Дерябин Егор Андреевич

студент, кафедра компьютерного проектирования и дизайна ИТМО,

РФ, г. Санкт-Петербург

Готская Ирина Борисовна

д-р пед. наук, доц. ИТМО,

РФ, г. Санкт-Петербург

Необходимость в анализе временных задержек загрузки веб-сайтов (RTT – round-trip time) является важной особенностью исследования веб-протоколов. Поскольку на сегодняшний день веб-сайты могут достигать размеров до нескольких мегабайт, оценка временной задержки при их загрузке является актуальной при проведении сравнительного анализа веб-протоколов и методов их использования.

При исследовании круговых задержек веб-протоколов необходимо рассматривать два типа веб-сайтов. К первому типу относятся т.н. статические сайты. Для их работы не используют протокол WebSocket, т.к. он предназначен для обеспечения работы приложения в режиме реального времени. На сегодняшний день статические сайты используют либо протокол HTTP/1.1, либо протокол HTTP/2.

Особенной частью протокола HTTP/2 является его обратная совместимость с предыдущими версиями. Это позволяет исследовать одни и те же сайты при поддержке протокола HTTP/2 и без нее, что позволяет определить разницу в круговых задержках для веб-сайта, в зависимости от используемой версии протокола (таблица 1, таблица 2).

Таблица 1.

Показатели RTT для браузера Firefox

 

Адрес сайта

Время загрузки (HTTP/1.1, HTTP/2)

Youtube.com

27.755, 23.302

Stackoverflow.com

5.474, 5.903

Reddit.com

16.403, 13.421

Duckduckgo.com

1.962, 3.243

Twitter.com

5.599, 6.538

En.wikipedia.org

2.908, 3.381

W3schools.com

3.365, 4.450

Paypal.com

8.006, 13.834

Upwork.com

23.100, 23.974

 

Таблица 2.

Показатели RTT для браузера Google Chrome

 

Адрес сайта

Время загрузки (HTTP/1.1, HTTP/2)

Youtube.com

15.394, 14.229

Stackoverflow.com

4.428, 3.981

Reddit.com

15.567, 12.325

Duckduckgo.com

2.283, 2.250

Twitter.com

3.164, 3.101

En.wikipedia.org

2.137, 2.545

W3schools.com

3.330, 3.227

Paypal.com

4.297, 4.542

Upwork.com

17.243, 24.167

 

Исходя из полученных результатов, на круговые задержки оказывает влияние не только тип используемого протокола, но и тип браузера клиента. Согласно полученным результатам, браузер Google Chrome показывает лучшие результаты для протокола HTTP/2, а браузер Firefox – для HTTP/1.1. В усредненном значение протокол HTTP/1.1 осуществляет загрузку сайтов быстрее в 1.30 раза в браузере Firefox, протокол HTTP/2 быстрее в 1.03 раза в браузере Google Chrome.

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

Ко второму типу веб-сайтов относятся т.н. «динамические» сайты. Их особенностью является возможность динамически изменяться в ответ на действия пользователя. Динамические веб-сайты строятся на разных протоколах и при использовании разных алгоритмов.

Для исследования динамических сайтов тестировалось приложение реального времени, реализованного наиболее распространенными технологиями: AJAX (при использовании протокола HTTP/1.1 и алгоритма «long-polling», AJAX и технологии Server-Sent Events, при использовании протокола WebSocket). Полученные данные для каждого из построенных приложений приведены в таблицах 3, 4 и 5.

Таблица 3.

Показатели RTT для алгоритма «long-polling»

 

Количество клиентов

Локация сервера

Средний RTT, мс

1

локальный

1.03

10

локальный

3.28

100

локальный

9.87

1

удаленный

42.23

10

удаленный

55.54

100

удаленный

111.97

 

Таблица 4.

Показатели RTT для технологии Server-Sent Events

 

Количество клиентов

Локация сервера

Средний RTT, мс

1

локальный

0.88

10

локальный

1.28

100

локальный

2.62

1

удаленный

56.15

10

удаленный

73.84

100

удаленный

98.50

 

Таблица 5.

Показатели RTT для протокола WebSocket

 

Количество клиентов

Локация сервера

Средний RTT, мс

1

локальный

0.82

10

локальный

1.20

100

локальный

2.06

1

удаленный

50.22

10

удаленный

66.78

100

удаленный

92.80

 

По полученным результатам можно судить, что алгоритм «long-polling» показывает худшие результаты в сравнении с Server-Sent Events и WebSocket. Наилучшие результаты показывает протокол WebSocket. При этом стоит отметить, что WebSocket, в отличии от Server-Sent Events, не имеет совместимости с HTTP, что накладывает на него ряд ограничений. На Server-Sent Events осуществляется более простая миграция существующий веб-приложений, т.к. его возможности нативно поддерживаются современными веб-браузерами. В случаях, когда приложению реального времени не требуется двусторонняя передача данных, Server-Sent Events являются более лучшим вариантом.

Согласно проведенному исследованию, можно сделать следующие выводы по полученным результатам:

  • Представление протокола HTTP/2 в значительной степени зависит от его реализации используемым браузером.
  • В приложениях реального времени наилучшее применение находят технологии Server-Sent Events и протокол WebSocket.
  • В рамках проведенного исследования, WebSocket демонстрирует наилучшие показатели круговых задержек.

В таблице 6 приведена сравнительная характеристика используемых технологий в современных веб-приложениях.

Таблица 6.

Сравнительные характеристики технолгий

 

Характеристика

AJAX

Long-polling

SSE

WebSocket

Одно соединение

+

Использование в реальном времени

+

+

+

Двунаправленный обмен данными

+

+

 

Согласно полученным данным при тестировании веб-сайтов, составим таблицу соотношения условий с технологиями сетевого взаимодействия.

Таблица 7.

Соотношение условий с технологиями сетевого взаимодействия

Частота обмена, задержка

Низкая, высокая

Высокая, высокая

Высокая, низкая

Постоянная, низкая

Технология

AJAX

long-polling

long-polling, SSE, WebSocket

WebSocket

 

HTTP используется в большинстве современных веб-приложений. Однако в приложениях, обладающих высокой чувствительностью к задержкам, предпочтительнее использование протокола WebSocket. Полученные результаты позволяют классифицировать веб-приложения по типу использования технологий обмена данными в клиент-серверной архитектуре в зависимости от типа веб-приложения и предъявляемых к нему требований.

 

Список литературы:

  1. Fielding R. Hyper Text Transfer Protocol – HTTP/1.1. IETF, 1999. Available at: https://www.ietf.org/rfc/rfc2616.txt (accessed 03, may, 2018).
  2. Grigorik I. Making the web faster with HTTP 2.0. ACM, 2013. No. 56 (12). Р. 42-49.
  3. Kim H., Lee J., Park I. The upcoming new standard HTTP/2 and its impact on multi-domain websites. APNOMS, 2015. Nо. 17 Р. 530-533.

Оставить комментарий

Форма обратной связи о взаимодействии с сайтом
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.