Я недавно протестировал сжатие IIS и был доволен результатами, после того, как выяснил, как установить уровень сжатия. Конечным результатом был результат JSON размером 196 КБ, сжатый до 13,6 КБ.
Ниже приведены некоторые замечания, которые я сделал для себя при настройке динамического сжатия и уровне сжатия. Я извиняюсь, если они грубые, поскольку я сделал их прежде всего для моей будущей ссылки.
Кроме того, я бы определенно посоветовал попробовать JSON поверх XML, поскольку он дает гораздо более компактный результат. У меня нет конкретных цифр, но, насколько я помню, JSON был примерно на 50% меньше XMl.
При необходимости установить динамическое сжатие
Windows 7:
- Откройте консоль «Программы и компоненты», выбрав «Пуск»> «Панель управления»> «Программы и компоненты».
- Нажмите «Включить или отключить функции Windows».
- В диалоговом окне разверните Информационные службы Интернета> Службы всемирной паутины> Функции производительности и включите динамическое сжатие содержимого.
- Нажмите Ok.
Windows Server 2008:
- Откройте консоль диспетчера сервера, выбрав «Пуск»> «Все программы»> «Администрирование»> «Диспетчер сервера».
- В древовидном представлении диспетчера серверов разверните узел Роли и щелкните Веб-сервер (IIS).
- В главном окне прокрутите вниз до панели «Службы ролей» и нажмите «Добавить службы ролей».
- В диалоговом окне «Выбор служб ролей» щелкните и включите веб-сервер (установлен)> производительность (установлен)> сжатие динамического содержимого.
- Нажмите Далее.
- На экране «Подтверждение выбора при установке» нажмите «Установить».
Включить динамическое сжатие в IIS
- В приложении управления IIS выберите сервер, а в группе компонентов IIS дважды щелкните «Сжатие».
- Установите флажок «Включить динамическое сжатие содержимого».
Включить для "application / json" и "application / xml"
- Найдите файл applicationHost.config в каталоге c: \ Windows \ System32 \ inetserv \ config
- отредактируйте его и найдите элемент httpCompression.
- Под
<dynamicTypes>
добавить следующие элементы:
<add mimeType="application/json" enabled="true" />
<add mimeType="application/xml" enabled="true" />
Перезагрузите IIS.
Чтобы проверить, войдите в Fiddler и убедитесь, что кнопка «Декодировать» не выбрана (кнопка «Декодировать» должна быть на главной панели инструментов). Вы должны увидеть, что заголовок ответа «Content-Encoding» показывает «gzip», и что ответ сжат:
Расширенные настройки
Установите уровень сжатия с помощью следующей команды (уровень по умолчанию 0):
C:\Windows\System32\Inetsrv\Appcmd.exe
set config -section:httpCompression
-[name='gzip'].staticCompressionLevel:9
-[name='gzip'].dynamicCompressionLevel:4
Дополнительные сведения см. На этих сайтах:
Максимальное использование сжатия IIS. Часть 1. Настройка IIS 7
IIS 7 Сжатие. Хорошо? Плохой? Сколько стоит
Мое первоначальное тестирование ответа json:
None: 196,416 bytes
Level 0: 35,234
Level 1: 29,219
Level 4: 18,461
Level 9: 13,638