Maxim Dounin
January 16, 2020 07:26AM
Hello!

On Thu, Jan 16, 2020 at 03:00:31PM +0300, Михаил Монашёв wrote:

> > То есть если мы не смогли построить хэш в рамках заданных
> > ограничений на максимальное количество бакетов (max size) и размер
> > одного бакета (bucket size), то мы построим хэш с максимально
> > разрешённым количеством бакетов, игнорируя ограничене на размер
> > одного бакета.
>
> Понятно, т.е. эти настройки фактически про экономию оперативки...

Нет. Эти настройки - про скорость работы. В идеале - один бакет
должен помещаться в cache line процессора, а бакетов - должно быть
минимальное количество, чтобы их адресация также не занимала
больших объёмов памяти и легко влезала в кэш процессора. Про это
есть статья тут:

http://nginx.org/ru/docs/hash.html

> А где описано максимально разрешённое количество?

Размер одного бакета ограничен значением 64k, так как для
отслеживания размеров бакета в процессе построения хеша
используется тип short. Ограничение на максимального количество
бакетов можно поставить любое.

> Это оно http://hg.nginx.org/nginx/file/tip/src/core/ngx_hash.h#l68 ?
> #define NGX_HASH_LARGE_ASIZE 16384
> #define NGX_HASH_LARGE_HSIZE 10007

Нет, это константы, используемые при выделении различных
внутренних структур для хэшей большого размера. Они ни коим
образом ничего не ограничивают.

--
Maxim Dounin
http://mdounin.ru/
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

количество и размер бакетов

Михаил Монашёв January 14, 2020 09:42AM

Re: количество и размер бакетов

Maxim Dounin January 14, 2020 10:08AM

Re: количество и размер бакетов

Михаил Монашёв January 15, 2020 04:52AM

Re: количество и размер бакетов

Maxim Dounin January 15, 2020 08:14AM

Re: количество и размер бакетов

Михаил Монашёв January 16, 2020 07:02AM

Re: количество и размер бакетов

Maxim Dounin January 16, 2020 07:26AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 124
Record Number of Users: 6 on February 13, 2018
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready