Отслеживание передачи данных при загрузке одной страницы

Мне было поручено уменьшить размер события загрузки страницы.

Используя различные инструменты (Инструменты разработчика Mozilla -> Сеть), я вижу, что в столбце «Перенесено» 8 МБ, а в столбце «Размер» всего 1,5 МБ.

Чего я не знаю и не могу найти ссылок на это:

  1. Какая разница между двумя?
  2. Что именно измеряется в «Переданных» данных?
  3. Как я могу уменьшить количество «Переносимых» данных?

3 должно быть довольно легко... если я смогу понять 2. 1 просто потому, что мне любопытно. Но как только я узнаю, что на самом деле отслеживается мерой передаваемых данных, я буду знать, как ее уменьшить.

Да, на сайте написано «количество байтов, которые фактически были переданы для загрузки ресурса». Это клиент-сервер? Сервер к клиенту? База данных сервера? Что это?


person Nevyn    schedule 27.06.2016    source источник
comment
Я не думаю, что это ваша проблема, т.е. медленное время загрузки не из-за этого переданного размера. Как вы можете видеть в комментариях здесь, это может быть даже ошибкой на стороне Firefox. Я думаю, вам лучше обратить внимание на другие вещи, которые могут вызвать большое время загрузки, в основном на циклы и/или запросы к базе данных.   -  person Shadow Wizard Wearing Mask V2    schedule 28.06.2016
comment
На самом деле... я точно знаю, где медленное время загрузки. И не в этом заключалась моя задача. Моей задачей было уменьшить передаваемые данные для загрузки страницы. Для этого я пытаюсь идентифицировать переданные данные, потому что не могу их НАЙТИ!!   -  person Nevyn    schedule 29.06.2016
comment
Итак, вы имеете в виду, что задача состоит в том, чтобы уменьшить пропускную способность, хорошо. В любом случае, как я уже сказал, 8 МБ выглядят фальшивыми, результатом ошибки. И одно можно сказать наверняка, это количество байтов, переданных с сервера клиенту.   -  person Shadow Wizard Wearing Mask V2    schedule 29.06.2016


Ответы (1)


Ok. В конце концов потребовалось гораздо больше инструментов, но я, наконец, смог понять, что происходит. Через комбинацию WireShark и Fiddler Я смог выяснить, откуда на самом деле берутся все дополнительные данные.

Чтобы ответить на исходные вопросы:

  1. Хорошо, на самом деле я до сих пор не знаю, в чем разница между ними, но в итоге это не имеет значения
  2. Это физический размер накопленных пакетов, передаваемых на клиентскую машину. Или, по крайней мере, так должно быть, по-видимому, есть несколько ошибок с некоторыми измерительными инструментами и нет реального стандарта того, что измерять. Некоторые инструменты включают заголовки, некоторые нет. И у некоторых из них есть ошибка, которая удваивает измеренные данные для некоторых типов передач.
  3. С помощью комбинации включения динамического сжатия как в веб-конфигурации, так и в функциях Windows и удаления флагов «Состояние просмотра» из некоторых элементов управления.

В итоге на странице было скрытое поле "_VIEWSTATE", которое содержало что-то около 7 Мб данных в текстовом формате. Очевидно, это было строковое представление base64 почти каждого элемента управления на странице... и оно даже не использовалось. Кроме того, я обнаружил, что, несмотря на то, что я настроил его в файле web.config, функцию Windows, которая контролировала динамическое сжатие, все равно нужно было активировать и установить. Выполнение обоих этих шагов уменьшило передаваемые данные с 10 МБ до 500 КБ.

Другие ссылки

person Nevyn    schedule 30.06.2016