6

I'm trying to test UDP multicast throughput via iperf but it seems like it's not sending more than 10Mbit/s from my dev machine:

C:\> iperf -c 224.0.166.111 -u -T 1 -t 100 -i 1 -b 1000000000
------------------------------------------------------------
Client connecting to 224.0.166.111, UDP port 5001
Sending 1470 byte datagrams
Setting multicast TTL to 1
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[156] local 192.168.1.99 port 49693 connected with 224.0.166.111 port 5001
[ ID] Interval       Transfer     Bandwidth
[156]  0.0- 1.0 sec  1.22 MBytes  10.2 Mbits/sec
[156]  1.0- 2.0 sec  1.14 MBytes  9.57 Mbits/sec
[156]  2.0- 3.0 sec  1.14 MBytes  9.55 Mbits/sec
[156]  3.0- 4.0 sec  1.14 MBytes  9.56 Mbits/sec
[156]  4.0- 5.0 sec  1.14 MBytes  9.56 Mbits/sec
[156]  5.0- 6.0 sec  1.15 MBytes  9.62 Mbits/sec
[156]  6.0- 7.0 sec  1.14 MBytes  9.53 Mbits/sec

When I run it on another server, I'm getting ~80Mbit/s which is quite a bit better but still not anywhere near the 1Gbps limits that I should be getting?

C:\> iperf -c 224.0.166.111 -u -T 1 -t 100 -i 1 -b 1000000000
------------------------------------------------------------
Client connecting to 224.0.166.111, UDP port 5001
Sending 1470 byte datagrams
Setting multicast TTL to 1
UDP buffer size: 8.00 KByte (default)
------------------------------------------------------------
[180] local 10.0.101.102 port 51559 connected with 224.0.166.111 port 5001
[ ID] Interval       Transfer     Bandwidth
[180]  0.0- 1.0 sec  8.60 MBytes  72.1 Mbits/sec
[180]  1.0- 2.0 sec  8.73 MBytes  73.2 Mbits/sec
[180]  2.0- 3.0 sec  8.76 MBytes  73.5 Mbits/sec
[180]  3.0- 4.0 sec  9.58 MBytes  80.3 Mbits/sec
[180]  4.0- 5.0 sec  9.95 MBytes  83.4 Mbits/sec
[180]  5.0- 6.0 sec  10.5 MBytes  87.9 Mbits/sec
[180]  6.0- 7.0 sec  10.9 MBytes  91.1 Mbits/sec
[180]  7.0- 8.0 sec  11.2 MBytes  94.0 Mbits/sec

Anybody has any idea why this is not achieving close to link limits (1Gbps)?

Thanks,

Tom

TJF
  • 391
  • 1
  • 6
  • 15
  • Multicast would be the first place to look, do you get the same limits for unicast TCP testing? – polynomial Oct 05 '11 at 01:09
  • 3
    Are you connected to a switch that supports `pause` frames? If so, broadcast and multicast will be limited to the speed of the slowest port. – David Schwartz Oct 05 '11 at 02:10
  • hm, I do have an IP Phone plugged into the same switch on the same subnet which is probably running at 10MBit - could that be the limiting factor? However, the switch on the server is a Cisco 3750G, fully running at 1Gbit on all links, why wouldn't I manage to achieve more then 10% of link capacity there? – TJF Oct 05 '11 at 02:36
  • I turned off Flow Control on the NIC of my dev machine and am now getting ~10MBytes/sec, same as on the server. So that definitely helped but is still only 10% of link capacity, any idea why? I tried adjusting the UDP send buffer which didn't seem to have any effect – TJF Oct 05 '11 at 13:53
  • I'd make sure that there wasn't any 10Mb connections between the two hosts, including 10Mb hubs and switch ports set to 10Mb. I'd check it just to see, even if it should be at 1Gb. Also, as I understand it, many 1Gb switches _cannot_ run a full 1Gb on all ports simultaneously; you may know more about that than I would. – Mei Jan 10 '12 at 19:56
  • 2
    are the any multicast or broadcast storm protections enabled on the switch. – The Unix Janitor Feb 01 '12 at 11:10
  • user37899 may have it right: just looked at my Cisco 3750G configuration and broadcast/multicast storm protection is enabled. Not sure if enabled is the default, or if one of the Cisco GUI tools used by the departed admin who set things up turned that on. – rmalayter Feb 11 '12 at 14:35

1 Answers1

1

Check if your switch (your network cards should already support it) is accidentally not set to auto-mdix or if there is fixed value and you got a mismatch. This can cause the problems you describe, I've seen the exact same behaviour in our own network with a mismatch. Sometimes auto-mdix might not work and you should also try setting it to the same value on both sides manually.

http://en.wikipedia.org/wiki/Mdix#MDIX

Craig
  • 570
  • 4
  • 13