map_hash_bucket_size

Директива `map_hash_bucket_size` задаёт размер бакета для хеш-таблиц в модуле NGINX SRT, оптимизируя использование памяти и производительность.

Синтаксисmap_hash_bucket_size size;
По умолчаниюnone
Контекст
Аргументы1

Описание

Директива map_hash_bucket_size предназначена для управления размером бакета хеш-таблиц специально для функции Secure Reliable Transfer (SRT) в NGINX. Меняя размер бакета, администраторы могут влиять на распределение памяти и повышать производительность приложений, которые используют динамические отображения переменных в SRT-соединениях. Это может привести к более эффективной обработке данных переменных за счёт лучшего распределения по бакетам хеш-таблицы.

При увеличении размера бакета может уменьшиться число коллизий в хеш-таблице, что полезно для приложений с интенсивным использованием переменных. Однако увеличение размера бакета также может повысить общее потребление памяти. И наоборот, меньший размер бакета экономит память, но может привести к большему числу коллизий, что в конечном итоге негативно скажется на производительности. Поэтому выбор подходящего размера бакета критичен и должен основываться на ожидаемой нагрузке и характере использования переменных в приложении.

Директива принимает только один числовой аргумент, который задаёт размер в байтах. Правильная настройка этой директивы может повысить эффективность операций SRT, но требует тщательного учёта доступных ресурсов сервера и ожидаемой нагрузки.

Пример конфига

map_hash_bucket_size 128;

Установка слишком малого размера корзины может привести к более высокой частоте коллизий и ухудшению производительности.

Слишком большой размер корзины может излишне увеличивать использование памяти, не давая существенного выигрыша в производительности.

← Ко всем директивам