variables_hash_max_size

Устанавливает максимальный размер хеш-таблицы, используемой для хранения переменных в модуле SRT.

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

Описание

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

Параметр variables_hash_max_size требует числового значения, обозначающего желаемый максимальный размер хеш-таблицы. Рекомендуется обеспечить соответствие этого значения ожидаемому масштабу вашего приложения, чтобы избежать ограничений по распределению памяти, которые могут возникнуть при недостаточном размере. С другой стороны, слишком большое значение может привести к ненужному расходу памяти. Рекомендуется тестировать различные конфигурации в среде подготовки (staging), чтобы определить оптимальные настройки для вашего конкретного случая. Помните, что эта директива действует в контексте конфигураций SRT-сервера и актуальна только при активном использовании SRT-модулей.

На практике, если вы заметите существенный рост числа переменных в приложении или задержки при их поиске, настройка этой директивы может заметно улучшить производительность. Корректировка variables_hash_max_size позволит более эффективно управлять переменными и повысить общую отзывчивость вашей конфигурации NGINX SRT.

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

srt {
    variables_hash_max_size 2048;
    server {
        listen 4321;
        proxy_pass tcp://127.0.0.1:5678;
    }
}

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

Чрезмерное выделение памяти путём установки очень высокого значения может привести к неэффективному использованию памяти в средах с несколькими запущенными службами.

Убедитесь, что протестировали влияние этой настройки в тестовой среде перед её применением в продуктивной среде.

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