types_hash_bucket_size
Директива 'types_hash_bucket_size' задаёт размер корзины хеширования для таблицы соответствия MIME-типов в NGINX. — NGINX HTTP Core
Описание
Директива 'types_hash_bucket_size' в NGINX позволяет администраторам указать размер корзин хеширования, используемых для хранения MIME-типов. Эта директива важна для оптимизации производительности, поскольку хеш-таблица используется для хранения отображений расширений файлов в соответствующие MIME-типы, которые определяются при запросах файлов. Если запрашиваемый MIME-тип отсутствует в хеш-таблице, серверу приходится создавать новую запись, что может привести к ухудшению производительности, если корзины слишком малы. Размер каждой корзины обычно указывается в байтах и должен быть установлен в зависимости от ожидаемого числа MIME-типов, используемых приложением. Директива принимает параметр, указывающий размер корзины. Рекомендуемый размер обычно определяется исходя из конкретного варианта использования и ожидаемой сложности отображений MIME-типов в приложении. Если существует большое количество различных MIME-типов, увеличение размера корзины может помочь уменьшить время поиска и количество коллизий в хеш-таблице. Администраторам серверов важно тестировать и профилировать свои конфигурации NGINX, чтобы определить оптимальное значение этой директивы, особенно в средах, где производительность имеет критическое значение.
Пример конфига
http {
types_hash_bucket_size 128;
include mime.types;
}Установка слишком малого размера может привести к коллизиям хэша и снижению производительности.
Чрезмерно большой размер бакетов может привести к перерасходу памяти, особенно если количество MIME-типов невелико.
Изменения этой директивы требуют перезагрузки конфигурации NGINX, чтобы они вступили в силу.