types_hash_bucket_size

Директива 'types_hash_bucket_size' задаёт размер корзины хеширования для таблицы соответствия MIME-типов в NGINX. — NGINX HTTP Core

types_hash_bucket_size
httpserverlocation
Синтаксисtypes_hash_bucket_size size;
По умолчанию64;
Контекстhttp, server, location
МодульNGINX HTTP Core
Аргументы1

Описание

Директива 'types_hash_bucket_size' в NGINX позволяет администраторам указать размер корзин хеширования, используемых для хранения MIME-типов. Эта директива важна для оптимизации производительности, поскольку хеш-таблица используется для хранения отображений расширений файлов в соответствующие MIME-типы, которые определяются при запросах файлов. Если запрашиваемый MIME-тип отсутствует в хеш-таблице, серверу приходится создавать новую запись, что может привести к ухудшению производительности, если корзины слишком малы. Размер каждой корзины обычно указывается в байтах и должен быть установлен в зависимости от ожидаемого числа MIME-типов, используемых приложением. Директива принимает параметр, указывающий размер корзины. Рекомендуемый размер обычно определяется исходя из конкретного варианта использования и ожидаемой сложности отображений MIME-типов в приложении. Если существует большое количество различных MIME-типов, увеличение размера корзины может помочь уменьшить время поиска и количество коллизий в хеш-таблице. Администраторам серверов важно тестировать и профилировать свои конфигурации NGINX, чтобы определить оптимальное значение этой директивы, особенно в средах, где производительность имеет критическое значение.

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

http {
    types_hash_bucket_size 128;
    include mime.types;
}

Установка слишком малого размера может привести к коллизиям хэша и снижению производительности.

Чрезмерно большой размер бакетов может привести к перерасходу памяти, особенно если количество MIME-типов невелико.

Изменения этой директивы требуют перезагрузки конфигурации NGINX, чтобы они вступили в силу.