Какова связь между количеством HTTP-пакетов и количеством объектов на веб-странице?
Краткий ответ: очевидно, что существует определенная связь, но нет способа точно предсказать одно из другого.
Для более длинного ответа нам сначала нужно исправить некоторые неправильные представления в вопросе:
Не существует такого понятия, как «HTTP-пакет». HTTP - это протокол приложения, ориентированный на сообщения с одним сообщением-запросом и одним ответным сообщением на каждый «ресурс» Он расположен поверх надежного протокола потока байтов (с управлением потоком и т. Д.), Который называется TCP. Это в свою очередь находится поверх протокола коммутации пакетов, называемого IP. Обмен HTTP-запросом / ответом принимает непредсказуемое количество IP-пакетов ... в зависимости от размера сообщения и состояния сети. Другие функции HTTP, такие как сжатие, поддержка соединений, кэширование и т. Д., Еще более усложняют ситуацию.
Идея «объекта» плохо определена. «Объект» может иметь взаимно-однозначное соответствие между парами HTTP-запросов / ответов (то есть «ресурс» выше), тогда эта часть проста. OTOH, «ресурс» может представлять собой рендеринг нескольких «объектов» в домене приложения веб-сервера.
Кроме того, вы также должны учитывать тот факт, что типичный HTML-ресурс имеет ссылки на другие ресурсы (скрипты, CSS, изображения и т. Д.) И может даже включать обратные вызовы Ajax. Каждый из них является «ресурсом», который может быть, а может и не нуждаться в извлечении ... в зависимости от кэширования и т. Д.
Наконец, существует неявное предположение, что все «объекты» имеют одинаковый размер. Это может быть правдой в некоторых доменах приложений, но в целом это не так.
Итак, подведем итог: существует много переменных и неизвестных, чтобы можно было предсказать количество сетевых пакетов, необходимых для извлечения определенного количества "объектов".
Более практичный подход - подключить сетевой анализатор уровня пакетов к вашей сети и заставить его подсчитывать количество отправленных и полученных пакетов.
Если вы сделаете следующие предположения:
- «HTTP-пакеты» - это HTTP-сообщения,
- «объекты» - это ресурсы,
- ресурс не требует других ресурсов (скрипты, CSS, изображения и т. Д.) Для визуализации,
- нет кэширования,
- сервер не выполняет перенаправления.
тогда один «объект» требует два «HTTP-пакета».
Но, честно говоря, вы упростили проблему до такой степени, что ответ практически бесполезен для прогнозирования реальной производительности реальных веб-серверов. (Например, любой из этих «объектов» может быть крошечным ... или огромным. А если вы разрешите произвольный JavaScript или контент, такой как ссылки на видеопотоки, то количество «пакетов» того или иного вида будет потенциально неограничен.)