TCP Throughput Measurement and Tuning on Linux Box
120 likes | 349 Vues
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
TCP Throughput Measurement and Tuning on Linux Box
E N D
Presentation Transcript
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