Network performance in a dual CPU system

Chuck Swiger cswiger at mac.com
Fri Feb 10 10:06:41 PST 2006


Marcos Bedinelli wrote:
[ ... ]
> mull [~]$vmstat -i
> interrupt                          total       rate
> irq1: atkbd0                        3466          0
> irq6: fdc0                            10          0
> irq13: npx0                            1          0
> irq14: ata0                           47          0
> irq21: fxp1                     20462527          8
> irq28: bge0                   3511765157       1444
> irq29: bge1                   3633124373       1494
> irq30: aac0                      1842472          0
> cpu0: timer                    566751007        233
> Total                         7733949060       3181

Interesting, what do you have HZ ("sysctl kern.clockrate") set to?  Does setting
it to somewhere around 500, 1000, or 2000 help?  You're definitely going to want
to increase HZ if you enable polling mode...

> mull [~]$netstat -m
> 644/646/1290 mbufs in use (current/cache/total)
> 643/407/1050/17088 mbuf clusters in use (current/cache/total/max)
> 0/5/4528 sfbufs in use (current/peak/max)
> 1447K/975K/2422K bytes allocated to network (current/cache/total)
> 0 requests for sfbufs denied
> 0 requests for sfbufs delayed
> 0 requests for I/O initiated by sendfile
> 0 calls to protocol drain routines

You might try increasing the # of kern.ipc.nmbclusters, say by a factor of 2.
This may not help much, seems like you're bottlenecking servicing the bge
interrupts.

I assume you've read "man tuning" and do not have something like WITNESS enabled
in your kernel?  :-)

-- 
-Chuck


More information about the freebsd-net mailing list