referer_hash_bucket_size
指令 `referer_hash_bucket_size` 用于设置在 NGINX 中存储 HTTP referer 头时使用的哈希桶大小。 — NGINX HTTP Core
referer_hash_bucket_size
serverlocation
语法referer_hash_bucket_size size;
默认值64
上下文server, location
模块NGINX HTTP Core
参数1
说明
`referer_hash_bucket_size` 指令是管理 NGINX 中 referer 头存储的一个重要配置选项。它决定用于存储 referer 的哈希表的桶大小,这在高流量环境中特别有用,因为请求头的大小会显著影响性能。通过优化桶大小,可以提高哈希函数查找的效率,尽量减少冲突,确保 referer 条目更快地被处理。 该指令可以在 `http`、`server` 或 `location` 上下文中设置,根据应用需求提供灵活配置。指定的值应为 2 的幂,或接近适合预期 referer 数量的最优大小。为了获得最佳性能,该值必须根据系统架构和预期流量模式谨慎选择,因为不当的值可能导致内存使用增加或哈希表操作效率低下,从而影响整体性能。 在分析服务器性能后调整此指令可能至关重要,尤其是遇到大量唯一 referer 头时。`referer_hash_bucket_size` 在 referer 处理相关的内存管理和响应速度方面发挥着关键作用,增强了 NGINX 作为 Web 服务器的稳健性。
配置示例
http {
referer_hash_bucket_size 128;
}
⚠
将桶大小设置得过小可能导致哈希冲突,从而降低性能。
⚠
为了获得最佳效率,值理想情况下应为2的幂。
⚠
在高流量已经建立后未经充分测试就更改此值可能会影响在线服务。