第五章——设置哈希

Nginx使用哈希表快速处理静态数据集,例如,服务器名称、map指令值、MIME类型、请求头名称。在启动和每次重新配置期间,Nginx选择最小大小(桶大小)的哈希表存储含有相同哈希值的键,不超过配置参数(哈希桶大小)。表的大小用桶表示。继续调整直到表大小超过哈希最大大小参数。大多数哈希有相应指令允许改变这些参数,例如,服务器名称哈希由server_names_hash_max_size和server_names_hash_bucket_size参数管理。

哈希桶大小参数与多个处理器的缓存行大小一致。在现代处理器上通过减少内存访问次数来加速在哈希中搜索键。如果哈希桶大小等于一个处理器的缓存行大小,那么在键搜索期间最坏的情况内存访问两次——第一次计算桶地址,第二次在桶中搜索键。因此,如果Nginx发送消息请求增加哈希最大大小或哈希桶大小。那么第一个参数应该首先增加。

猜你喜欢

转载自my.oschina.net/leeck/blog/1628590
今日推荐