Date: Thu, 04 Mar 2010 10:12:11 -0800 From: Julian Elischer <julian@elischer.org> To: freebsd-net@freebsd.org Subject: Re: Netgraph performance with ng_ipfw Message-ID: <4B8FF7FB.20208@elischer.org> In-Reply-To: <20100304124901.GA98085@traktor.dnepro.net> References: <C6F35B81AA3747D1B11CAC169F2D8D84@evgen> <20100304124901.GA98085@traktor.dnepro.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B8FF7FB.20208>