Jump to content
Калькуляторы

IPFW NAT - можно ли изменить время жизни трансляций ?

Коллеги, что-то не могу подобрать ссылку на совет, как повлиять на время жизни записей в таблице трансляций IPFW NAT

Есть ли какая-нибудь sysctl переменная ?

 

В вечернее время что-то растет кол-во памяти под libalias, при этом как-то быстро растет загрузка процессора.

vmstat -m | grep alias | tr -s ' ' | cut -d ' ' -f 4

дает 568257K, при этом сама по себе полоса потребления не слишком большая, в районе 2,2Гбит/600Мбит

 

На другом НАТ сервере, сравнимом по используемой полосе, имеем всего 62986K занятой памяти под трансляции (libalias) и прилично меньшая загрузка процессора.

 

Думаю, что если бы уменьшить время жизни трансляций на загруженном сервере, таблица трансляций не росла бы так сильно.

Share this post


Link to post
Share on other sites

Перекомпилировав ядро можно добиться улучшений

Через sysctl не искал но

/usr/src/sys/netinet/libalias/alias_db.c

#define ICMP_EXPIRE_TIME 60

#define UDP_EXPIRE_TIME 60

#define PROTO_EXPIRE_TIME 60

 

А это размер хэш по поиску стейтов

/usr/src/sys/netinet/libalias/alias_local.h

Исправить на

#define LINK_TABLE_OUT_SIZE 65535

#define LINK_TABLE_IN_SIZE 65535

Больше 65535 смысла ставить нет, там это значение WORD

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

На моей практике на самом деле жрет одна или две истансы НАТ из 15-20 имеющихся.

Не знаю, что там в ядре либалиасов намутили, но очень прожерливая система.

Debian на этом же сервере 1,2 гига трафика дает загрузку ЦПУ в 2-3 меньше. Другой сервер линуха полисит и натит 5 гигов трафика не напрягаясь.

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

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

В принципе имеются скриншоты тестов, если интересно могу приложить как найду их у себя

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this