Low network performance after upgrade from FreeBSD 4.8 to 6.0
Bohuslav Plucinsky
bohuslav.plucinsky at in.nextra.sk
Tue Mar 21 13:41:55 UTC 2006
Hello,
here is the output from "top -S" :
last pid: 1570; load averages: 0.56, 0.20, 0.10
up 0+02:59:36 14:03:53
76 processes: 4 running, 47 sleeping, 2 stopped, 23 waiting
CPU states: 14.9% user, 0.0% nice, 57.4% system, 27.7% interrupt, 0.0% idle
Mem: 17M Active, 6084K Inact, 14M Wired, 11M Buf, 17M Free
Swap: 500M Total, 500M Free
PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
11 root 1 171 52 0K 8K RUN 173:00 39.55% idle
1414 root 1 115 0 1432K 908K RUN 0:22 39.36% natd
22 root 1 -68 -187 0K 8K WAIT 1:07 10.40% irq11: xl1
21 root 1 -68 -187 0K 8K WAIT 0:30 3.32% irq10: xl0
27 root 1 -44 -163 0K 8K WAIT 1:39 2.39% swi1: net
30 root 1 -16 0 0K 8K - 0:07 0.05% yarrow
28 root 1 -32 -151 0K 8K RUN 0:30 0.00% swi4: clock sio
540 plk 1 96 0 2140K 1844K select 0:03 0.00% screen
39 root 1 171 52 0K 8K pgzero 0:02 0.00% pagezero
550 root 1 20 0 4460K 2956K pause 0:02 0.00% tcsh
47 root 1 -16 0 0K 8K - 0:01 0.00% schedcpu
1062 plk 1 96 0 6076K 3140K select 0:01 0.00% sshd
2 root 1 -8 0 0K 8K - 0:01 0.00% g_event
4 root 1 -8 0 0K 8K - 0:01 0.00% g_down
3 root 1 -8 0 0K 8K - 0:01 0.00% g_up
447 root 1 96 0 3396K 2684K select 0:01 0.00% sendmail
1050 root 1 5 0 4440K 2928K ttyin 0:01 0.00% tcsh
1342 root 1 96 0 2336K 1616K RUN 0:01 0.00% top
41 root 1 20 0 0K 8K syncer 0:01 0.00% syncer
327 root 1 96 0 1328K 904K select 0:00 0.00% syslogd
1059 root 1 4 0 6100K 3128K sbwait 0:00 0.00% sshd
42 root 1 -4 0 0K 8K vlruwt 0:00 0.00% vnlru
40 root 1 -16 0 0K 8K psleep 0:00 0.00% bufdaemon
463 root 1 8 0 1312K 1032K nanslp 0:00 0.00% cron
7 root 1 -8 0 0K 8K - 0:00 0.00% fdc0
670 plk 1 20 0 4092K 2692K pause 0:00 0.00% tcsh
1357 root 1 96 0 3436K 2304K STOP 0:00 0.00% joe
546 plk 1 20 0 4092K 2692K pause 0:00 0.00% tcsh
542 plk 1 5 0 3996K 2576K ttyin 0:00 0.00% tcsh
1063 plk 1 20 0 3984K 2604K pause 0:00 0.00% tcsh
1067 plk 1 20 0 1928K 1556K pause 0:00 0.00% screen
25 root 1 -64 -183 0K 8K WAIT 0:00 0.00% irq14: ata0
I did try to enable DEVICE_POLLING also, but this didn't help. The CPU load
decreased, but the throughput decreased from 24Mbps to 18Mbps also.
I've commented out
#options MROUTING
#options IPFIREWALL_FORWARD
#options IPFIREWALL_FORWARD_EXTENDED
#options IPSTEALTH
#options TCPDEBUG
#options IPSEC_DEBUG
#options IPSEC
#options IPSEC_ESP
(it's not necessary for me in this time), but it has no impact to this
problem. The throughput is still low.
I've tried PF, suggested by Martin Hudec and it seems that PF does not
have this performance problem. I like IPFW, I use it since year 1999,
but probably is time to switch to PF.
Thanks all for their reply.
Regards,
Bohus
On Mon, Mar 20, 2006 at 12:44:09PM -0500, Kris Kennaway wrote:
> On Mon, Mar 20, 2006 at 02:10:20PM +0100, Bohuslav Plucinsky wrote:
>
> > The "top" utility shows 100% CPU load:
>
> What about top -S to show the kernel threads (since that's what's
> using 90% of your CPU)?
>
> > last pid: 771; load averages: 0.25, 0.06, 0.02 up 0+00:24:30 14:08:32
> > 27 processes: 2 running, 25 sleeping
> > CPU states: 8.8% user, 0.0% nice, 59.6% system, 31.6% interrupt, 0.0% idle
> > Mem: 16M Active, 4752K Inact, 11M Wired, 8144K Buf, 22M Free
> > Swap: 500M Total, 500M Free
> >
> > PID USERNAME THR PRI NICE SIZE RES STATE TIME WCPU COMMAND
> > 229 root 1 105 0 1428K 904K RUN 0:35 40.82% natd
>
> > options MROUTING # Multicast routing
>
> Do you actually use this?
>
> > options IPFIREWALL #firewall
> > options IPFIREWALL_VERBOSE #print information about dropped packets
> > options IPFIREWALL_FORWARD #enable transparent proxy support
> > options IPFIREWALL_FORWARD_EXTENDED #all packet dest changes
> > options IPSTEALTH #support for stealth forwarding
> > options IPDIVERT #divert sockets
> > options TCPDEBUG
> > options IPSEC_DEBUG #debug for IP security
>
> Why do you define the DEBUG settings? They'll only slow you down, but
> it's probably not the main reason.
>
> > options DUMMYNET
> > options TCP_DROP_SYNFIN #drop TCP packets with SYN+FIN
> > options INCLUDE_CONFIG_FILE # Include this file in kernel
> > options IPSEC #IP security
> > options IPSEC_ESP #IP security (crypto; define w/ IPSEC)
>
> Better to use fast ipsec unless you have a need for ipv6.
>
> Kris
More information about the freebsd-net
mailing list