Назад | Перейти на главную страницу

Уровень Gzip для предварительно сжатых файлов?

Я узнал, что для сжатия файлов css и js на лету лучше всего оставить уровень по умолчанию -1.

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

Уровень -9 хорошо, тогда? Или я должен использовать 4 или 5, как некоторые даже предлагают использовать для сжатия на лету?

Что ж, все сводится к вопросу, занимает ли распаковка сильно сжатого файла столько же времени, что и его сжатие.

Для сжатия в реальном времени «на лету» просто вопрос убывающей отдачи; в какой-то момент штраф ЦП за меньшую загрузку не принесет пользы вам и вашим пользователям в отношении более быстрой загрузки.

Т.е. когда требуется 20 секунд для сжатия загрузки на дополнительный 1%, что сократит время загрузки на 2 секунды, эффект будет даже пагубным.

Посчитайте свои собственные файлы, но этот стол похоже, указывает на то, что:

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

Для предварительно сжатых файлов поднимитесь как можно выше! Вы сэкономите на пропускной способности, времени загрузки и декомпрессии.

Уже сжатый файл невозможно снова эффективно сжать, даже если он был сжат с низким уровнем сжатия. Так сказал Шеннон.

меньшее сжатие не означает более низкую конечную энтропию, а скорее меньшую таблицу кодирования, что означает меньшее потребление ЦП и ОЗУ, а также больший размер результирующего файла.

Легко убедиться, что однажды сжатый файл больше не будет сжат. Предварительно сжатые файлы следует заархивировать ( tar f.e.) или заархивировать / 7z-ed / rared с нулевым сжатием, если tar недоступен.