iperf results

Matthew Jakeman m.jakeman at lancaster.ac.uk
Thu Sep 22 07:46:37 PDT 2005


On Wednesday 21 September 2005 15:19, Chuck Swiger wrote:
> Matthew Jakeman wrote:
> > Some colleagues and myself have performed some simple tests on various
> > OS's using iperf to simply fire packets from one pc to another over
> > ethernet to test a few characteristics such as packet loss, jitter etc
> > between IPv4 and IPv6. The configuration for all three OS's were 'out of
> > the box' installs. The results we got back from that are strange for
> > FreeBSD with regards to the packet loss iperf reports and I was wondering
> > if anyone has any ideas why they might be as they are. The image at the
> > link below shows the packet loss results for windows, Linux and FreeBSD
> > for comparison! As you can see the packet loss for v6 is substantially
> > less than v4 on FreeBSD, however this is still substantially larger than
> > for the other two OS's, does anyone have any idea why this might be?
> >
> > http://www.mjakeman.co.uk/images/4v6tests.jpg
>
> You're probably getting packet loss either because you are filling up the
> network buffer space without pausing until it drains, or are running into
> ICMP response limits.  If you're going to be testing latency around the
> millisecond level, you'll need to increase HZ to at least 1000, if not
> better.
>
> For example, set "sysctl net.inet.icmp.icmplim=20" on a machine called
> shot.
>
> # ping -c 1000 -i 0.01 -s 1280 shot
> PING shot (199.103.21.228): 1280 data bytes
> 1288 bytes from 199.103.21.228: icmp_seq=0 ttl=64 time=0.935 ms
> [ ... ]
> --- shot ping statistics ---
> 1000 packets transmitted, 220 packets received, 78% packet loss
> round-trip min/avg/max/stddev = 0.842/0.877/1.234/0.077 ms
>
> With "sysctl net.inet.icmp.icmplim=2000":
>
> [ ... ]
> 1288 bytes from 199.103.21.228: icmp_seq=999 ttl=64 time=0.870 ms
>
> --- shot ping statistics ---
> 1000 packets transmitted, 1000 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 0.838/0.858/1.068/0.020 ms
>
> ...or even:
>
> # ping -c 1000 -i 0.001 -s 1280 shot
> [ ... ]
> 1288 bytes from 199.103.21.228: icmp_seq=999 ttl=64 time=0.849 ms
>
> --- shot ping statistics ---
> 1000 packets transmitted, 1000 packets received, 0% packet loss
> round-trip min/avg/max/stddev = 0.839/0.856/1.010/0.015 ms
>
> 	-----
>
> You haven't provided a test methodology.  You haven't provided the source
> code for the benchmark program you are using.  You also haven't provided
> any details about the hardware being used, the network topology, or even
> what some of the values in this .jpg image mean.  (For example, what is the
> first column, "duration", measuring?)

Thanks for the reply, I will provide more detail about the setup and how the 
experiments have been run now!

The PC's are both dual processor Intel xeon 3Ghz using Broadcom NetXtreme 
BCM5704 Gigabit Ethernet cards and they are directly connected together via 
an Ethernet cable. The duration field in the table is the number of seconds 
the experiments were run for!

The program that we used to run the tests simply runs all the iperf expermints 
one after the other by reading in the values to supply iperf from a config 
file, a snippet of which is shown below :

{
	#
	# 1st run v4
	#

	-c 10.30.200.20
	-S 10.30.200.20
	-l 64
	-t 3600
	-b 64M
	-o v4run1
	-p /root/4vs6/
}

This simply provides the arguments for iperf to run with! Thanks again for the 
replies, if anyone has any other suggestions I would be grateful to hear 
them!

Thanks
Matt


More information about the freebsd-net mailing list