18.2 Устройство сетевой подсистемы

Пример фиксирует, что при HTTP/2 реальный темп завершения запросов определяется сетевой подсистемой браузера. Страница одновременно инициирует большую серию запросов, но не управляет тем, как браузер распределяет сетевую активность между вкладками.

Инструкция

  1. Откройте страницу в одной вкладке браузера и запустите серию запросов. Зафиксируйте длительность обработки пакета и среднюю скорость.
  2. Откройте вторую вкладку с тем же примером. В обеих вкладках откройте Инструменты разработчика → Сеть (включите столбец «Каскад загрузки»).
  3. В обеих вкладках запустите серию запросов одновременно и сравните длительность обработки пакета и среднюю скорость в каждой вкладке.
  4. Повторите эксперимент с тремя одновременно работающими вкладками.
  5. Обратите внимание, что при увеличении числа вкладок суммарный сетевой ресурс браузера не возрастает, а перераспределяется между контекстами исполнения.

Наблюдения

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