html_sanitize_hash_bucket_size
Директива `html_sanitize_hash_bucket_size` задаёт размер корзин хеширования, используемых для очистки HTML в модуле NGINX.
Описание
Директива html_sanitize_hash_bucket_size — это параметр конфигурации, влияющий на поведение модуля NGINX, предназначенного для очистки HTML-контента. Этот модуль использует хеш-таблицы для эффективного хранения и извлечения элементов, атрибутов и CSS-свойств, включённых в белый список и разрешённых после санитизации. Изменяя значение этой директивы, пользователь может управлять размером корзин хеширования, что напрямую влияет на производительность и использование памяти при обработке HTML.
Корзины — это структуры в хеш-таблицах, используемые для обработки коллизий, когда несколько элементов дают один и тот же индекс. Правильный размер обеспечивает оптимальное распределение записей по корзинам, снижая вероятность коллизий и поддерживая высокую скорость доступа. Слишком малое значение может привести к росту коллизий и снижению производительности, тогда как чрезмерно большое — к избыточному расходу памяти. Выбор подходящего html_sanitize_hash_bucket_size зависит от ожидаемого разнообразия и количества HTML-атрибутов и элементов, обрабатываемых сервером NGINX.
Пример конфига
location /sanitize {
html_sanitize on;
html_sanitize_hash_bucket_size 64;
}Установка слишком малого bucket size может привести к проблемам с производительностью из-за hash collisions.
Убедитесь, что bucket size соответствует ожидаемому количеству unique elements и attributes, которые будут sanitized.