120 likes | 337 Views
TCP Throughput Measurement and Tuning on Linux Box. Mentee : Zhe Jin, Ran Zhao Mentor : Xiaolan Zhang Advisor : Professor Steve Lumetta ECE PURE Program. 2009 Fall PURE Symposium. Goal. Understand TCP throughput On Linux box Tuning parameters Variant factors TCP window size
E N D
TCP Throughput Measurement and Tuning on Linux Box Mentee: Zhe Jin, Ran Zhao Mentor: Xiaolan Zhang Advisor: Professor Steve Lumetta ECE PURE Program 2009 FallPURE Symposium
Goal • Understand TCP throughput • On Linux box • Tuning parameters • Variant factors • TCP window size • Packet size
Network Efficiency • Ethernet interface 100 Mbit/s • Header overheads • Ethernet header: 38 bytes • IP header+TCP header: 52 bytes • Payload size P • Default Maximum Segment Size MSS =1448 bytes • Effective throughput • et(P) =100 min(P, 1448) /(min(P, 1448) + 90) Mbit/s • Maximum et = 94.15 Mbit/s payload 38B 52B Up to 1448B
TCP Throughput Analysis sender receiver Data volume including TCP/IP overhead Round trip time (RTT) TCP window size (w) Bytes Bandwidth delay product BDP ... Throughput t(P,w) = min ( min(w, BDP)*et(P)/BDP, et(P))
IPERF – Measurement Tool • C++ based performance tool • Version -2.0.4 • Support TCP and UDP • Tunable parameters • TCP window size through socket buffer size setting • Socket level message length
Iperf ./iperf -c erminia -w 15k -l 1500 -t 6 -i 3
Conclusion and Future Work • For fixed packet size, TCP throughput is linear to the window size until the throughput is capped by the interface rate. • TCP throughput is lower for smaller payload size (< 64 bytes). • Need to understand Nagle’s algorithm effect. • Use netperf to compare with iperf • Measure CPU utilization.
What We Learned • Knowledge of TCP protocol details • Network performance measurement tools (iperf, netperf) • Linux tools (gnuplot, awk) • Data analysis skills