Date: Sat, 14 Apr 2012 11:20:53 -0700 From: Yuri <yuri@rawbw.com> To: freebsd-net@freebsd.org Subject: Why host transmit rate on 1Gb ethernet is only ~750Mbps ? Message-ID: <4F89C005.2020304@rawbw.com>
next in thread | raw e-mail | index | archive | help
I am running some tests with gigabit switch between two 9.0 hosts using iperf. The best UDP transmit rate I am getting is 753 Mbits/sec with ~3-6% packet loss @1500 MTU @ 2.5GHz CPU, even though command 'iperf -c X.X.X.X -u -b 1000m' requests the full gigabit. I am trying to understand what exactly usually limits the speed with one way ethernet traffic and also what causes the packet loss. Is it the host's CPU or rather the need to make ~83K system calls in order to send 1Gb of UDP data at 1500 MTU? Is it the NIC or it's driver ('re' on source and 'em' on destination in my case)? Is it the router which is maybe too old? (Linksys EG008W, with tcpdump I made sure there is no ICMP traffic that is coming back from the router during the test). Why can't NIC send say 900 Mbps with MTU 1500 since the only overhead is ethernet+UDP headers which are ~120bytes out of 1500? Why packet loss occurs in such a simple network with just one switch and speeds of 75% of the maximum? How can I troubleshoot such situation and understand the reasons? Yuri
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F89C005.2020304>