Phyuthe
Phyuthe

Reputation: 11

64 bytes PPS throughput using iperf3

I tested PPS throughput with and without 64 bytes using PC to PC with ubuntu 14.04. Using the command as follow

server - iperf3 -s

client with 64 bytes

iperf3 -u -c <server ip> -b 1000M -t -2 -l 64 **-P 6** (OR) iperf3 -u -c <server ip> -b 1000M -t -2 -l 64 **-P 8**

client without 64 bytes

iperf3 -u -c <server ip> -b 1000M -t -2 **-P 6** (OR) iperf3 -u -c <server ip> -b 1000M -t -2 **-P 8**

The strange thing is that 6 or 8 streams without 64 byte maximum throughput value is 810Mbps with 0% packets lost. When I add 64 byte packets, 6 streams throughput is very low and 8 streams throughput with 81% lost. Kindly see attached my test result. Please feel free to suggest me why is it so? I will be really appreciate to know the reason. With and Without 64 byte causes throughput value and packet lost at 6 and 8 streams

Upvotes: 1

Views: 4042

Answers (1)

Bruce A. Mah
Bruce A. Mah

Reputation: 446

You're trying to send a 1Gbps stream of data (actually it's 1Gbps of payload bytes, so the actual data rate is higher than that due to UDP, IP, and Ethernet overheads). The default behavior for iperf3 is to send fewer, fairly large packets (around 8KB or around the interface MTU, depending what version of iperf3 you are running). When you specify -l 64, that makes the sender emit a stream of many small packets. That's actually a worst-case scenario for many network devices because a lot of protocol processing is per-packet, regardless of how many payload bytes there are.

For high-bitrate UDP streams, you might also consider increasing the socket buffer size with the -w option. That's been shown to be beneficial to high-speed (>= 1Gbps) UDP tests.

Finally, iperf2 may be better at this sort of test than iperf3, so you could consider using that instead.

Upvotes: 1

Related Questions