Насколько эффективен модуль хешлимитов iptables?
Я ищу решение для ограничения скорости на основе IP. Сколько пакетов может обрабатывать модуль iptables hashlimit на последнем ядре процессора Intel x86_64? 1,000/ сек? 1.000.000/ сек?
2 ответа
Самым важным дополнительным механизмом, через который должен пройти netfilter, насколько я вижу из источника, является хеширование новых записей, обновление кредитов записей, поиск записей и очистка нужных вам базовых хеш-таблиц (см. / Proc / net / ipt_hashlimit),
Поскольку используются хеш-таблицы, все эти операции выполняются с постоянным временем и довольно быстро, за исключением очистки таблицы. Последний стоит дорого, если у вас много запросов от разных пользователей.
Если мне нужно сделать приблизительную оценку накладных расходов на хеш-лимит, я бы добавил максимум 15% к стоимости обработки стандартного набора правил. Как обычно, лучший способ сказать, это измерить. Если вы делаете, обновите этот пост:)
Как примечание, вы можете проверить опцию ограничения скорости PF на BSD.
Хеш-таблицы, как правило, эффективны и в основном имеют линейную масштабируемость.
.. хотя, глядя на параметры, более внимательно изучите htable-gcinterval, поскольку он может оказать наибольшее влияние на производительность. Сбор garbace хеш-таблицы, вероятно, самая дорогая операция. Если бы я ожидал узкого места в реализации hashlimit, это было бы вокруг кода gc.