Какова оптимальная настройка сжатия GZIP для IIS? - PullRequest
3 голосов
/ 12 ноября 2008

Вы можете установить HcDynamicCompressionLevel где угодно от 0 до 10. Я слышал, что 10 плохо (высокая загрузка процессора), но какое магическое число работает лучше всего?

Ответы [ 5 ]

3 голосов
/ 07 апреля 2012

Настройки от 5 до 9 для динамического сжатия DO фактически увеличивает нагрузку на процессор. Статическое сжатие происходит только один раз (до повторного кэширования файла), и вы можете установить высокое статическое сжатие.

В этой углубленной статье рекомендуется 4 для динамического сжатия и 7–9 для статического сжатия . Статья подкрепляет эту рекомендацию информацией, которую вы можете прочитать и решить для себя.

http://weblogs.asp.net/owscott/archive/2009/02/22/iis-7-compression-good-bad-how-much.aspx

Небольшие динамические страницы могут выиграть от более высоких настроек динамического сжатия, так как нагрузка на ЦП увеличивается с большими файлами. При размере около 200 КБ вы захотите рассмотреть более низкую динамическую настройку для страниц. Также обратите внимание, что высокие параметры динамического сжатия увеличивают время получения первых байтов от каждого запроса страницы. Эти факторы поддерживают использование более ограниченного значения 4 для динамического сжатия.

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

ПРИМЕЧАНИЕ. Настройка «10» отсутствует.

Еще две вещи для рассмотрения:

Элемент httpCompression в ваших .config файлах имеет настройки, которые отключают сжатие при слишком высокой загрузке процессора:

dynamicCompressionDisableCpuUsage="90"
dynamicCompressionEnableCpuUsage="80"

staticCompressionDisableCpuUsage="100"
staticCompressionEnableCpuUsage="80"

Параметр EnableCpuUsage повторно включает сжатие, когда загрузка процессора падает ниже указанного значения.

Другой параметр отключает сжатие для небольших файлов:

minFileSizeForComp="2700"

IIS 7.5 поднял минимальный размер файла для сжатия с 256 байт в IIS 7.0 по умолчанию до 2700 байт после того, как понял, что некоторые сжатые файлы были больше, чем исходные. Я не знаю, лучше ли 2700 байт, но, поскольку IP-пакет может иметь разумную длину около 1400 байт, этот параметр предотвратит сжатие файлов менее двух пакетов. Я бы хотел провести реальное тестирование или прочитать совет эксперта, прежде чем произвольно оспаривать решение Microsoft о повышении этого параметра.

1 голос
/ 12 ноября 2008

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

0 голосов
/ 29 ноября 2011

В компании, в которой я работаю, разрешено динамическое сжатие для ASPX и динамически генерируемые javascript / css и страницы, которые загружаются дольше Мы попытались установить уровень сжатия до 1 и макс. Процессор 90%, но все равно хуже, что без сжатия. Мой

0 голосов
/ 12 ноября 2008

Я обнаружил, что установка этого параметра на 8 дает довольно хорошую скорость сжатия без чрезмерной нагрузки на сервер. Это будет зависеть от загрузки вашего сервера и спецификации.

0 голосов
/ 12 ноября 2008

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

...