Почему конвейер в Firefox не работает?

Чтобы убедиться, что использование http-конвейеризации может оптимизировать скорость загрузки ресурсов, я сделал следующее тестирование:

Откройте Firefox на Mac, в конфигурации измените максимальное количество подключений на сервер к 1, затем я открою тестовую страницу, которая загружает 12 изображений. Я получил следующую цифру:

Браузер загружает каждое изображение одно за другим, а загрузка 12 изображений занимает около 12 секунд (я добавляю задержку в 1 секунду для каждого изображения).

Затем я включаю конвейерную обработку в Firefox и обновляю страницу. Я получил следующую цифру:

Я вижу, что вообще нет блокировки. Все запросы конвейерны. Я полагаю, что общее время загрузки будет сокращено, но, к сожалению, то же самое, что и отсутствие конвейеризации. Поэтому я сомневаюсь, что конвейер не работает.

Я хочу знать, почему и как я могу это исправить. Я использую сервер Apache. Есть ли какие-то конфиги, которые нужно сделать в Apache?

1 ответ

Как сказано в вики,

Конвейерная обработка запросов приводит к значительному улучшению времени загрузки HTML-страниц, особенно по сравнению с соединениями с высокой задержкой, такими как спутниковые интернет-соединения. Ускорение менее заметно на широкополосных соединениях

Ваш тест основан на типичном широкополосном соединении. Сервер так короток (момент может быть проигнорирован) для приема каждого запроса, и каждый раз, когда он отправляет такую ​​большую картинку, вся полоса пропускания соединения занята.

Итак, вы можете повторить тест с:

  1. Высокая задержка на каждый запрос.
  2. Много крошечных файлов в качестве ресурсов для ответа.
Другие вопросы по тегам