variables_hash_max_size
Устанавливает максимальный размер хеш-таблицы, используемой для хранения переменных в модуле SRT.
Описание
Директива 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;
}
}Установка этого значения слишком низкой может привести к невозможности сохранить все необходимые переменные, что скажется на работоспособности приложения.
Чрезмерное выделение памяти путём установки очень высокого значения может привести к неэффективному использованию памяти в средах с несколькими запущенными службами.
Убедитесь, что протестировали влияние этой настройки в тестовой среде перед её применением в продуктивной среде.