nginx的Setting up hashes页面翻译

为了快速处理静态数据设置,例如:服务器名称,”map“指令的值,MIME类型,请求头字符串的名称,nginx使用了hash表。在启动和重新加载配置阶段,考虑到存储键和值的hash表存储单元(hash bucket size )不能超过配置参数设定的值(hash bucket size参数),nginx将为hash表选择可能的最小值。hash表的尺寸是由”buckets“表示的。直到hash表吵过参数设置大小时,才会重新进行选择。大多数的hash有其对应的指令,这些指令允许改变它们的参数,例如:对于”服务器名称的hash“,可通过指令:”server_names_hash_max_size&server_names_hash_bucket_size“来约束。


hash bucket size参数大小被设置为处理器高速缓存区大小的整数倍。这样做的目的是为了加速现代处理器上hash表中key的检索速度,通过减少了内存的存取数。如果hash bucket size等于一个处理器高速缓存区大小(真实设置是整数倍,并非是一倍),那么在搜索key时,内存的存取数最坏的情况下将会等于2,首先,计算bucket地址,其次,在bucket中搜索指定的key。因此,如果nginx发送消息,需要增加 hash max size 或者 hash bucket size,那么首先需要增加第一个参数的大小!


总结:

这东西确实有点不知所云,尤其是英文翻译过来。得说明几点,也不知道自己理解的对不对:

1.hash表的最小存储单元,应该是上面的 ”hash bucket size“(也不知道咋翻译)

2.很多hash相关指令,都具有对应的2个配置指令:“hash_max_size” 和 “hash_bucket_size”。其中 “hash_max_size”为hash表的最大值,“hash_bucket_size”为hash表的存储单元的尺寸。

3.“hash_bucket_size” 应该是被设置为 “处理器高速缓存区大小” 的整数倍(至少是2倍?),为了加快检索速度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值