Gzipping HTML файлы не заставляют их загружаться быстрее - PullRequest
0 голосов
/ 05 февраля 2020

Я пытаюсь создать файл HTML, который содержит набор графиков, хранящихся в фреймах. Каждая графическая диаграмма сама по себе является документом html, хранящимся в AWS S3 и загруженным с использованием атрибута sr c в iframe. Теперь моя цель - ускорить загрузку этого основного HTML файла.

Я читал в других сообщениях, что включение сжатия GZIP могло бы произойти, поэтому я соответственно настроил AWS S3, gzipped мои индивидуальные HTML графики (которые разделили их размер на ~ 3) и отправили их на S3, заменив разархивированные графики.

Затем я снова попытался загрузить свою главную страницу. Страница была загружена правильно, что означает, что распаковка сработала, но время, которое потребовалось для загрузки, было примерно таким же, как и до сжатия ( тест скорости от Google подтверждает это, и дал тот же результат, что и раньше, с аналогичным результаты по метрике). Я удивлен этим, поскольку я думал, что gzipping по крайней мере окажет некоторое влияние на время загрузки, но, похоже, не имеет никакого значения. Может ли кто-нибудь указать мне на что-то, что я могу здесь упустить?

1 Ответ

0 голосов
/ 10 марта 2020

Полагаю, это просто означает, что размеры, с которыми вы имеете дело, не настолько велики, что сжатие чего-либо экономит достаточно времени, чтобы быть полезным. Кроме того, распаковка занимает немного времени. Если это время больше, чем экономия из-за передачи немного меньшего количества данных, то вы даже немного подождете завершения процедуры. Вы почувствуете выгоду намного сильнее, если ваши серверы будут работать очень медленно; но S3 не известен как медленный ;-) В этом случае вам нужно было бы сэкономить много, уменьшив свои данные, прежде чем вы сможете их измерить.

Кроме того, ваши данные могут быть такого рода, которые не приносят пользы вообще от сжатия gzip, например, потому что это уже сжато. Я предполагаю, что под «plots» вы подразумеваете изображения, и изображения обычно хранятся в формате JPG или PNG, которые оба уже являются сжатыми форматами (и оба оптимизированы для данных изображений, поэтому они лучше подходят для этой задачи, чем gzip).

Gzip - это сжатие общего назначения, основанное на представлении о том, что необработанные данные часто содержат повторения, избыточности и часто используют сокращенное подмножество доступного алфавита. Например, текстовые файлы могут использовать только подмножество ASCII, и в этом часто только буквы, цифры и некоторые знаки пунктуации. Но доступный алфавит был бы полным диапазоном значений 0..255 для каждого байта. Для таких входных данных очень хорошо подходит gzip.

Но каждый алгоритм сжатия максимально уменьшает количество повторений и избыточность, так что более поздний алгоритм сжатия больше не может уменьшить размер данных. Так что попытка сжать файл PNG или JPG ничего не поможет. На самом деле это только добавит некоторые издержки протокола.

Так что я полагаю, что в вашем случае вам следует снова отключить сжатие gzip.

Хотя было бы неплохо попробовать это, потому что теперь вы знайте, что эта опция ничего не ускоряет для вас (что часто трудно оценить без попыток).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...