Повышение производительности за счет сжатия файлов в Azure CDN

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

Сжатие файлов можно активировать двумя способами.

  • Включить сжатие на сервере-источнике. В этом случае сеть доставки содержимого Azure проходит по сжатым файлам и доставляет их клиентам, которые запросили эти файлы.
  • Включить сжатие непосредственно на серверах POP сети CDN (сжатие в режиме реального времени). В таком случае CDN сжимает файлы и доставляет их пользователям, даже если эти файлы не были сжаты на сервере-источнике.

Важно!

Применение изменений конфигурации Azure CDN по сети может занять некоторое время.

  • Для профилей Azure CDN категории "Стандартный" от Майкрософт распространение обычно выполняется в течение 10 минут.
  • Для профилей Azure CDN уровня "Стандартный" от Akamai распространение обычно завершается в течение одной минуты.
  • Для профилей Azure CDN уровня "Стандартный" от Verizon и Azure CDN уровня "Премиум" от Verizon распространение обычно выполняется в течение 10 минут.

Если сжатие для конечной точки CDN задается впервые, перед устранением неполадок следует подождать 1–2 часа, чтобы настройки сжатия гарантированно распространились на серверы POP.

Включение сжатия

Уровни CDN "Стандартный" и "Премиум" предоставляют одинаковые возможности сжатия, но разные пользовательские интерфейсы. Дополнительные сведения о различиях между уровнями CDN "Стандартный" и "Премиум" см. в разделе Обзор Azure CDN.

Профили CDN уровня "Стандартный"

Примечание

Сведения в этом разделе относятся к профилям Azure CDN уровня "Стандартный" от Майкрософт, Azure CDN уровня "Стандартный" от Verizon и Azure CDN уровня "Стандартный" от Akamai.

  1. На странице профиля CDN выберите конечную точку CDN, которой вы хотите управлять.

    Конечные точки профиля CDN

    Откроется страница конечной точки CDN.

  2. Выберите Сжатие.

    На снимке экрана показана конечная точка с сжатием, выбранным в меню портала.

    Откроется страница сжатия.

  3. Чтобы включить сжатие, выберите значение Вкл.

    На снимке экрана показано включение сжатия.

  4. Используйте типы MIME по умолчанию либо измените список, удалив или добавив типы MIME.

    Совет

    Хотя это и возможно, не рекомендуем применять сжатие для сжатых форматов. Например, ZIP, MP3, MP4 или JPG.

  5. После внесения изменений выберите Сохранить.

Профили CDN уровня "Премиум"

Примечание

Сведения в этом разделе относятся только к профилям Azure CDN уровня "Премиум" от Verizon.

  1. На странице профиля CDN выберите Управление.

    Выбор управления CDN

    Откроется портал управления CDN.

  2. Наведите указатель мыши на вкладку HTTP Large (Большая платформа HTTP), а затем наведите указатель мыши на всплывающий элемент Параметры кэша. Выберите Сжатие.

    Выбор сжатия CDN

    Отобразятся параметры сжатия.

    Параметры сжатия файла CDN

  3. Включите сжатие, выбрав параметр Включить сжатие. Введите типы MIME для сжатия в виде списка с разделителями-запятыми (без пробелов) в текстовом поле Типы файлов.

    Совет

    Хотя это и возможно, не рекомендуем применять сжатие для сжатых форматов. Например, ZIP, MP3, MP4 или JPG.

  4. После внесения изменений выберите Обновить.

Правила сжатия

Профили Azure CDN уровня "Стандартный" от Майкрософт

Для профилей Azure CDN уровня "Стандартный" от Майкрософт сжимаются только соответствующие файлы. Сжатие допускается для следующих файлов:

Эти профили поддерживают следующие алгоритмы сжатия:

  • gzip (GNU zip)
  • brotli

Если запрос поддерживает несколько типов сжатия, приоритет имеет сжатие brotli.

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

Если источник использует поблочное кодирование передачи (CTE) для отправки сжатых данных в точку подключения CDN, то размеры отклика больше 8 МБ не поддерживаются.

Профили Azure CDN от Verizon

Для профилей Azure CDN уровня "Стандартный" от Verizon и Azure CDN уровня "Премиум" от Verizon будут сжаты только подходящие файлы. Сжатие допускается для следующих файлов:

  • более 128 байт;
  • Меньше 3 МБ

Эти профили поддерживают следующие алгоритмы сжатия:

  • gzip (GNU zip)
  • DEFLATE
  • bzip2
  • brotli

Если запрос поддерживает несколько типов сжатия, эти типы сжатия обладают приоритетом над сжатием brotli.

Если в запросе ресурса указано сжатие brotli (заголовок HTTP Accept-Encoding: br) и запрос приводит к сбросу кэша, Azure CDN выполняет сжатие brotli непосредственно на сервере POP. После этого сжатый файл используется из кэша.

Профили Azure CDN уровня "Стандартный" от Akamai

Для профилей Azure CDN уровня "Стандартный" от Akamai сжатие допускается для всех файлов. Но должен использоваться файл типа MIME, для которого в настройках разрешено сжатие.

Эти профили поддерживают только алгоритм сжатия gzip. Когда конечная точка профиля запрашивает файл в формате gzip, он всегда запрашивается с сервера-источника, независимо от запроса клиента.

Варианты использования сжатия

В приведенных ниже таблицах описан принцип работы сжатия CDN Azure для всех сценариев.

Сжатие отключено или для файла сжатие недопустимо

Запрошенный клиентом формат (через заголовок Accept-Encoding) Формат кэшированного файла Ответ CDN клиенту         Примечания                                                                                                    
Compressed Compressed Compressed
Compressed Без сжатия Без сжатия
Compressed Не кэширован Сжатый или несжатый Ответ источника определяет, будет ли CDN выполнять сжатие.
Без сжатия Compressed Без сжатия
Без сжатия Без сжатия Без сжатия
Без сжатия Не кэширован Без сжатия

Сжатие включено и для файла допускается сжатие

Запрошенный клиентом формат (через заголовок Accept-Encoding) Формат кэшированного файла Ответ CDN клиенту Примечания
Compressed Compressed Compressed CDN перекодирует из одного поддерживаемого формата в другой.
Azure CDN от Майкрософт не поддерживает перекодировку между форматами, а вместо этого извлекает данные из источника, сжимает и кэширует их отдельно для формата.
Compressed Без сжатия Compressed CDN выполняет сжатие.
Compressed Не кэширован Compressed CDN выполняет сжатие, если источник возвращает несжатый файл.
Azure CDN от Verizon передает несжатый файл при первом запросе, а затем сжимает файл и помещает его в кэш для последующих запросов.
Файлы с заголовком Cache-Control: no-cache никогда не сжимаются.
Без сжатия Compressed Без сжатия CDN проводит распаковку.
Azure CDN от Майкрософт не поддерживает распаковку и вместо этого извлекает данные из источника и кэшей отдельно для несжатых клиентов.
Без сжатия Без сжатия Без сжатия
Без сжатия Не кэширован Без сжатия

Сжатие CDN для служб мультимедиа

Для конечных точек с включенной потоковой передачей CDN служб мультимедиа по умолчанию включено сжатие для следующих типов MIME:

  • application/vnd.ms-sstr+xml;
  • application/dash+xml;
  • application/vnd.apple.mpegurl;
  • application/f4m+xml

См. также раздел