ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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



 




Copyright © Lexa Software, 1996-2009.