finding optimal ipfw strategy
Andrey V. Elsukov
bu7cher at yandex.ru
Tue Aug 27 18:06:30 UTC 2019
On 26.08.2019 19:25, Victor Gamov wrote:
> More general question about my current config. I have about 200Mbit
> input multicasts which bridged and filtered later (about 380 Mbit
> bridged if trafshow does not lie me :-) )
>
> My FreeBSD box (12.0-STABLE r348449 GENERIC amd64) has one "Intel(R)
> Xeon(R) CPU E31270 @ 3.40GHz" and 4-ports "Intel(R) PRO/1000
> PCI-Express Network Driver". HT disabled and traffic mainly income via
> igb0 and out both via igb0 and igb2. About 30 VLANs now active some at
> igb0 and some at igb2.
>
>
> And I have following `top` stat:
> =====
> CPU 0: 0.0% user, 0.0% nice, 80.5% system, 0.0% interrupt, 19.5% idle
> CPU 1: 0.0% user, 0.0% nice, 34.1% system, 0.0% interrupt, 65.9% idle
> CPU 2: 0.0% user, 0.0% nice, 17.1% system, 0.0% interrupt, 82.9% idle
> CPU 3: 0.0% user, 0.0% nice, 46.3% system, 0.0% interrupt, 53.7% idle
> =====
This doesn't look like heavy ipfw load.
E.g. this is top output from slightly loaded firewall (300Mbytes/s
~500kpps):
last pid: 58184; load averages: 9.07, 8.98, 8.83
up
72+07:45:55 21:01:36
821 processes: 36 running, 680 sleeping, 105 waiting
CPU 0: 0.0% user, 0.0% nice, 0.0% system, 28.1% interrupt, 71.9% idle
CPU 1: 0.0% user, 0.0% nice, 0.0% system, 33.6% interrupt, 66.4% idle
CPU 2: 0.0% user, 0.0% nice, 0.0% system, 28.9% interrupt, 71.1% idle
CPU 3: 0.0% user, 0.0% nice, 0.0% system, 27.3% interrupt, 72.7% idle
CPU 4: 0.0% user, 0.0% nice, 0.0% system, 21.1% interrupt, 78.9% idle
CPU 5: 0.0% user, 0.0% nice, 0.0% system, 26.6% interrupt, 73.4% idle
CPU 6: 0.0% user, 0.0% nice, 0.0% system, 28.1% interrupt, 71.9% idle
CPU 7: 0.0% user, 0.0% nice, 0.0% system, 21.1% interrupt, 78.9% idle
CPU 8: 0.0% user, 0.0% nice, 0.0% system, 35.2% interrupt, 64.8% idle
CPU 9: 0.0% user, 0.0% nice, 0.0% system, 29.7% interrupt, 70.3% idle
CPU 10: 0.0% user, 0.0% nice, 0.0% system, 27.3% interrupt, 72.7% idle
CPU 11: 0.0% user, 0.0% nice, 0.0% system, 19.5% interrupt, 80.5% idle
CPU 12: 0.0% user, 0.0% nice, 0.0% system, 32.8% interrupt, 67.2% idle
CPU 13: 0.0% user, 0.0% nice, 0.0% system, 34.4% interrupt, 65.6% idle
CPU 14: 0.0% user, 0.0% nice, 0.0% system, 29.7% interrupt, 70.3% idle
CPU 15: 0.0% user, 0.0% nice, 0.0% system, 26.6% interrupt, 73.4% idle
CPU 16: 0.0% user, 0.0% nice, 0.0% system, 28.9% interrupt, 71.1% idle
CPU 17: 0.0% user, 0.0% nice, 0.0% system, 34.4% interrupt, 65.6% idle
CPU 18: 0.0% user, 0.0% nice, 0.0% system, 36.7% interrupt, 63.3% idle
CPU 19: 0.0% user, 0.0% nice, 0.0% system, 21.9% interrupt, 78.1% idle
CPU 20: 0.0% user, 0.0% nice, 0.0% system, 21.1% interrupt, 78.9% idle
CPU 21: 0.0% user, 0.0% nice, 0.0% system, 32.0% interrupt, 68.0% idle
CPU 22: 0.0% user, 0.0% nice, 0.0% system, 33.6% interrupt, 66.4% idle
CPU 23: 0.0% user, 0.0% nice, 0.0% system, 26.6% interrupt, 73.4% idle
CPU 24: 0.0% user, 0.0% nice, 0.0% system, 21.9% interrupt, 78.1% idle
CPU 25: 0.0% user, 0.0% nice, 0.0% system, 21.1% interrupt, 78.9% idle
CPU 26: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
CPU 27: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
# pmcstat -S instructions -Tw1
PMC: [INSTR_RETIRED_ANY] Samples: 443074 (100.0%) , 0 unresolved
Key: q => exiting...
%SAMP IMAGE FUNCTION CALLERS
39.2 kernel sched_idletd fork_exit
10.9 ipfw.ko ipfw_chk ipfw_check_packet
3.6 kernel cpu_search_lowest cpu_search_lowest
2.8 kernel lock_delay _mtx_lock_spin_cookie
2.5 kernel _rm_rlock in6_localip:1.3 pfil_run_hooks:0.6
2.2 kernel rn_match ta_lookup_radix:1.5
fib6_lookup_nh_basic:0.6
As you can see, when ipfw produces high load, interrupt column is more
than system.
--
WBR, Andrey V. Elsukov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 554 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20190827/418e3242/attachment.sig>
More information about the freebsd-net
mailing list