Re[2]: Описание параметра server_names_hash

Igor Sysoev is at rambler-co.ru
Mon Feb 6 14:32:26 MSK 2006


On Mon, 6 Feb 2006, Дугин Сергей wrote:

>> Сначала нужно увеличивать server_names_hash_max_size. Если это значение
>> стало значительно больше имён серверов в конфигурации и всё равно
>> выдаётся такая ошибка, то нужно увеличивать server_names_hash_bucket_size.
>
>> server_names_hash_bucket_size внутри выравнивается до размера cache line
>> size процессора. То есть, в данном случае можно указать 200, а внутри
>> будет 256.
>
>
> Интересно получилось:
> Если сделать так:
>
>  server_names_hash_max_size 1024;
>  server_names_hash_bucket_size 512;
>
> То все запускается, если сделать так:
>  server_names_hash_max_size 1024;
> #  server_names_hash_bucket_size 512;
> , то дает ошибку, если сделать так:
>  server_names_hash_max_size 2048;
> #  server_names_hash_bucket_size 512;
> , то работает опять.
>
> Почему такая логика получается?

В одном bucket'е хранится несколько имён, у которых совпадает хэш.
При максимальном размере хеша в 1024 был по крайней мере один bucket
размером 128 байт, в который не помещались все имена с одинаковым хэшем.

А в комбинациях 1024/512 и 2048/128 - всё помещалось. Лучше взять 2048/128.


Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list