Network performance measurements of -current
Andre Oppermann
andre at freebsd.org
Thu Dec 22 10:17:19 PST 2005
As part my funded TCP/IP optimization work I'm doing lots of measurements
and profiling with an Agilent N2X network tester and calibrated traffic
generator.
The following data shall serve as baseline of the current performance we
get out of FreeBSD 7-current. More to come tomorrow though.
OS: FreeBSD 7-current as of 20051222-1600 UTC
KERNEL: Generic kernel, minus WITNESS and INVARIANTS, plus HWPMC, HZ=1000
HARDWARE: Dual Opteron 852 2.6Ghz, Tyan S2882 Mobo with AMD-8131 PCI-X tunnel
HARDWARE: dual Broadcom Gigabit BMC5704C PCI-X-133 ("bge")
HARDWARE: dual Intel Gigabit 82546EB PCI-X-133 ("em")
Uniprocessor kernel
bge:
normal forwarding bge0->bge1: @64/326kpps/166us/402kpps(30%Loss)/194us
normal forwarding bge0->bge1: @1500/81kpps/520us
normal forwarding bge0->disc0: @64/1205kpps
IP fastforwarding bge0->bge1: @64/565kpps/192us/575kpps(60%Loss)/1090us
IP fastforwarding bge0->bge1: @1500/81kpps/730us
IP fastforwarding bge0->disc0: @64/1160kpps
net.isr.direct=1 bge0->bge1: @64/476kpps/211us/487kpps(68%Loss)/1284us
net.isr.direct=1 bge0->bge1: @1500/81kpps/760us
net.isr.direct=1 bge0->disc0: @64/1250kpps
polling (*) bge0->bge1:
@64/420kpps(9%Loss)/1385us/416kpps(72%Loss)/1600us
polling (*) bge0->bge1: @1500/71kpps(9%Loss)/850us
polling (*) bge0->disc0: @64/697kpps
Comments: Under full load the normal processing breaks completely down
while with IP fastforwarding it levels off but continues to forward.
Strangely with polling it has 9% loss at all loads (even at 1% wirespeed).
May be related to HZ=1000.
em:
normal forwarding em0->em1: @64/372kpps/112us/396kpps(11%Loss)/131us
normal forwarding em0->em1: @1500/81kpps/170us
normal forwarding em0->disc0: @64/1130kpps
IP fastforwarding em0->em1: @64/565kpps/45us/585kpps(4%Loss)/1600us
IP fastforwarding em0->em1: @1500/81kpps/135us
IP fastforwarding em0->disc0: @64/1116kpps
net.isr.direct=1 em0->em1: later
net.isr.direct=1 em0->disc0: later
polling (*) em0->em1: later
polling (*) em0->disc0: later
(*) max_burst=1000, user_frac=0, each_burst=30
Sponsored by: TCP/IP Optimization Fundraise 2005
--
Andre
More information about the freebsd-net
mailing list