On Tuesday 21 February 2006 13:54, Igor Sysoev wrote:
> On Tue, 21 Feb 2006, Alexey Popov wrote:
> > Igor Sysoev пишет:
> >>>>> map ... {
> >>>>>
> >>>>>> include /var/www/block.domain.ru;
> >>>>>> }
> >>>>>
> >>>>> У меня в подобном мапе получается 500000 строк, размер файла 30Мб.
> >>>>
> >>>> Для начала
> >>>> server_names_hash_max_size 500000;
> >>>
> >>> Т.е. тупо увеличивать эти параметры, пока nginx не перестанет ругаться,
> >>> все остальное он решит сам? ;)
> >>
> >> Да. Если не будет хватать, скажем, пятикратного превышения, то можно
> >> пробовать увеличивать server_names_hash_bucket_size.
> >
> > На не особо нагруженном сервере с настройками:
> > map_hash_max_size 2048000;
> > map_hash_bucket_size 64;
> >
> > nginx -t работал больше часа - видимо, строил хэш, после чего опять
> > попросил увеличить эти параметры. Как-то нереально долго он это делает
> > при маленьких hash_bucket_size. При 256 тоже задумывается надолго, а при
> > 512 и более отрабатывает за пару секунд.
У меня такая же проблема. cache line size = 128, при map_hash_bucket_size =
256 проверяет конфигурацию больше минуты. При map_hash_bucket_size = 384 -
0,7 секунды (!).
>
> Он тупо подбирает минимально возможный размер хэша.
> Чем больше размер корзины, тем больше коллизий в неё помещается, поэтому
> минимально размер хэща ищется быстрее.
> Можно оставить 512. Можно попробовать 350, 400.
>
>
> Игорь Сысоев
> http://sysoev.ru
--
Andrei Nigmatulin
GPG PUB KEY 6449830D
No Microsoft products were used in any way
for the creation of this message. If you are
using a Microsoft product to view it, BEWARE!
I'm not responsible for any harm you might
encounter as a result.