gzip_hash

Директива `gzip_hash` задаёт алгоритм хеширования, используемый для настроек gzip-сжатия в NGINX.

Синтаксисgzip_hash { algorithm | md5 | sha1 | crc32 };
По умолчаниюmd5
Контекстhttp, server, location
Аргументы1

Описание

Директива gzip_hash является частью модуля HTTP Core NGINX, который управляет тем, как NGINX обрабатывает gzip-сжатие HTTP-ответов. Задавая метод хеширования, она оптимизирует хранение и извлечение параметров gzip для кэшированного содержимого, что обеспечивает лучшую производительность при высокой нагрузке.

Эту директиву можно настроить с использованием различных алгоритмов хеширования, таких как md5, sha1 или crc32, что позволяет администратору адаптировать отзывчивость и использование ресурсов при gzip-сжатии в зависимости от возможностей сервера и ожидаемого типа содержимого. Выбор метода хеширования может повлиять как на производительность, так и на размер сохраняемых флагов gzip, а следовательно — на общий объём потребляемой памяти. NGINX анализирует контекст сжатия и генерирует значения хеша на основе настроенных параметров, чтобы гарантировать уникальные идентификаторы для сжатого содержимого в соответствии с выбранной хеш-функцией.

Директиву gzip_hash можно разместить в контекстах http, server или location, что даёт гибкость в конфигурации. Важно учитывать, что выбор более сложной хеш-функции может повысить уникальность записей, но при этом потреблять дополнительные CPU-циклы, поэтому рекомендуется учитывать конкретные потребности вашего приложения и ожидаемую нагрузку при её настройке.

Пример конфига

http {
    gzip on;
    gzip_hash sha1;
}
⚠

Убедитесь, что выбранный алгоритм хеширования поддерживается вашей версией NGINX.

⚠

Использование сложного алгоритма хеширования может увеличить нагрузку на CPU при минимальной пользе для эффективности сжатия.

⚠

Смена алгоритма хеширования влияет на то, как обрабатываются ранее кэшированные gzip-ответы, что может потребовать их регенерации.

← Ко всем директивам