Nginx设置哈希值

为了快速处理静态数据集,例如服务器名称,映射指令的值,MIME类型,请求头字符串的名称,nginx使用哈希表。在启动期间和每次重新配置时,nginx选择最小可能大小的散列表,使得存储具有相同散列值的密钥的桶大小不超过配置的参数(散列桶大小)。表的大小以桶表示。继续调整,直到表大小超过散列最大大小参数。大多数哈希都有相应的指令允许更改这些参数,例如,对于服务器名称哈希,它们是server_names_hash_max_size和server_names_hash_bucket_size。

散列桶大小参数与处理器的高速缓存行大小的倍数对齐。这通过减少内存访问的数量来加速现代处理器上的散列中的密钥搜索。如果散列桶大小等于一个处理器的高速缓存行大小,那么在最坏的情况下,密钥搜索期间的内存访问次数将是两次 - 首先计算存储区地址,第二次是在存储桶内的密钥搜索期间。因此,如果nginx发出请求增加散列最大大小或散列桶大小的消息,则应首先增加第一个参数。

猜你喜欢

转载自blog.csdn.net/u013702678/article/details/84000536