Netgraph performance with ng_ipfw

Julian Elischer julian at elischer.org
Thu Mar 4 18:12:15 UTC 2010


Eugene Perevyazko wrote:
> On Sat, Jan 23, 2010 at 03:32:11AM +0600, Евгений wrote:
>> Hi, 
>> I have several routers under heavy load, running FreeBSD 7.2
>> These routers use Netgraph to impelement traffic shaping and accouting
>> (using ng_car and ng_netflow nodes). 
> [skipped]
>> The second question is about the effectiveness of Netgraph queueing and ng_ipfw node with SMP kernel...
> [skipped]
>> one of the ng_queue* processes will take 100% time of one CPU core, when the others will not 
>> process anything.
>> I have seen such behavior on my routers - at peak load, one of ng_queue* processes takes 100% of one core, 
>> and the other processes are seen in top taking 0% of CPU. 
>> My question is, can it somehow be fixed?
> 
> I see the same behaviour with ng_nat and ng_ipfw.
> 7-S as of Nov 2009 on Xeon E5410 (4 cores).
> 16 ng_nat nodes connected to ng_ipfw.
> Sometimes one ng_queue eats 100% of one core while other 3 ng_queues sit idle.
> I'm going to set queueing on all ng_nat's hooks to see if it will help.

an interesting idea.


I'm not familiar with the ng_queue & ng_ipfw nodes but scheduling
work between threads in netgraph has always been a tricky area
and is probably in need to work at the moment.




More information about the freebsd-net mailing list