types_hash_bucket_size

'types_hash_bucket_size' 指令在 NGINX 中设置 MIME 类型哈希表的哈希桶大小。 — 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 类型数量进行设置。\n\n该指令可以带一个参数来指定桶大小。推荐的大小通常基于具体用例和应用中 MIME 类型映射的复杂性来确定。如果存在大量不同的 MIME 类型,增大桶大小有助于减少哈希表中的查找时间和冲突。对于性能至关重要的环境,服务器管理员应测试并分析他们的 NGINX 配置,以确定该指令的最优值。

配置示例

http {
    types_hash_bucket_size 128;
    include mime.types;
}

将大小设置得过小可能导致哈希冲突并降低性能。

过大的桶大小会浪费内存,尤其是在 MIME types 数量较少时。

对该指令的更改需要重新加载 NGINX 配置才能生效。