On Mon, Mar 07, 2005 at 09:03:22AM +0200, Paul Arakelyan wrote:
On Sun, 6 Mar 2005, Paul Arakelyan wrote:
Гы - "гоночна машина" - разогналось и по тормозам, потормозило, рвануло дальше. Что-то надо настраивать :-|.
Вообще-то там достаточно много настроек для повышения производительности. Умолчания - для некоей средней конторы.... Надо подстраивать set timeout, set limit, set optimization, это из того, что можно подстроить в самом pf. ну и на sysctls посмотреть/подстроить. Наколупал вот:
On Sun, Mar 06, 2005 at 09:54:17AM +0200, Gregory Edigarov wrote: pf.conf ========= set timeout { interval 5, frag 20 } set timeout { tcp.first 120, tcp.opening 30, tcp.established 600 } set timeout { tcp.closing 60, tcp.finwait 45, tcp.closed 90 } set limit { states 60000, frags 4000 } set loginterface none set optimization conservative scrub in all nat on lnc0 from 10.0.0.0/8 to any -> x.x.x.x/32 ======== #pfctl -s a|wc -l No ALTQ support in kernel ALTQ related functions disabled 24964
CPU states: 4.2% user, 0.0% nice, 13.3% system, 59.8% interrupt, 22.7% idle Mem: 6968K Active, 5136K Inact, 19M Wired, 8384K Buf, 51M Free
"Ключевые грабли" в моём случае - это когда железо "не тянуло" по количеству пакетов и чего-то где-то начинало застрявать вседствии "непролезания" - игра с ipfw pipe на входящих интерфейсах очень помогла добиться устойчивого состояния. Жалко, что ipfw не умеет по количеству пакетов ограничивать В итоге имеем около 1800 pps вместо 1000-1200, никаких затыков, кучу CPU time. Нда - "too late, too few", по полной программе :)
Ядро собиралось оригинально: собираем с ключами "по умолчанию", сносим критичные .o, меняем make.conf, собираем с нужными ключами, процесс повторяем если нужно разные части по-разному оптимизировать.
На этой методе можно нарваться на полностью неработающее ядро, увы.
-- Best regards, Paul Arakelyan.
-- NO37-RIPE