Включение сжатия GZIP в IIS и его вступление в силу

Мы включили сжатие Gzip на сервере в IIS (IIS6). Мы запустили iisreset. Это просто не хочет вступать в силу. У нас было это раньше на другом сервере, и через некоторое время он просто начал работать.

Это должно "забрать" сразу? Если нет, то сколько времени это займет? Есть ли что-нибудь, что мы можем сделать, чтобы ускорить это?

5 ответов

Решение

Вы уверены, что результат не кэшируется? Вы можете проверить сервер удаленно здесь

Кроме того, по умолчанию IIS 6.0 настроен только на сжатие файлов следующих типов: htm, html, txt, asp, dll, exe.

Поэтому, если вы просматриваете какой-либо другой тип файла (например, php или aspx), он не будет сжат.

Вы можете настроить дополнительные типы файлов для сжатия, используя следующие команды:

для статических типов файлов...

cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcFileExtensions htm html txt css js  
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcFileExtensions htm html txt css js

для динамических типов файлов...

cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/deflate/HcScriptFileExtensions asp dll exe aspx asmx php
cscript c:\Inetpub\AdminScripts\adsutil.vbs SET W3SVC/Filters/Compression/gzip/HcScriptFileExtensions asp dll exe aspx asmx php

Вот список всего, что необходимо для включения сжатия IIS 6: http://weblogs.asp.net/owscott/archive/2004/01/12/IIS-Compression-in-IIS6.0.aspx. Дважды проверьте это, чтобы убедиться, что вы все установили.

Если вы правильно настроили и выполнили iisreset и ничего не кэшировалось, это сразу же вступит в силу.

Дополнительное примечание: для статических файлов IIS не выполняет сжатие по первому запросу. Он обрабатывает первый запрос, скажем, "myfile.html" без сжатия, а затем сжимает статический файл в фоновом режиме и помещает его в кэш сжатых файлов. Все последующие запросы для "myfile.html" будут возвращать сжатую версию.

По моему мнению, это несколько ненужная оптимизация, но я думаю, что идея состоит в том, чтобы не заставлять первого запросчика ожидать сжатия, поскольку IIS по умолчанию использует очень агрессивные и интенсивно загружающие ЦП настройки статического содержимого (аналогично gzip -9). Все последующие запросы к файлу используют сильно сжатую версию из кэша.

Противоположное справедливо для динамических страниц в IIS... по умолчанию он использует очень низкую настройку сжатия (аналогично gzip -1) и сжимает каждую страницу на лету.

Выполните каждый шаг в этом пошаговом руководстве по сжатию gzip в IIS6: http://engineering.leads360.com/post/9301650692/http-compression-gzip-on-iis-6

... и это должно сработать для вас.

Другие вопросы по тегам