Program at a glance   Tutorial program   Technical program   Abstracts   Papers


Performance Analysis and Modeling
Full Paper
Critical Path Analysis of TCP Transactions
Paul Barford (Boston University)
Mark Crovella (Boston University)
Improving performance in the Internet requires a detailed understanding of when and how delays in data transfers are introduced. Latency in data transfers between hosts can be caused by load on hosts themselves, the protocols used in the transfer of data and by the network links which connect the hosts. We describe a method for pinpointing where delays are introduced in TCP transactions which utilizes tcpdump traces taken simultaneously at both end points of a TCP transaction. This method extracts acknowledgement packets and the data packets which liberated them from the traces and constructs the critical path for a TCP transaction. The critical path enables us to assign latency to either client, server or network. We have implemented our technique in a tool called tcpeval which automates critical path analysis for Web transactions. We show that our analysis method is robust enough to analyze traces taken for two different TCP implementations (Linux and FreeBSD) and we argue that it can easily be extended to analyze data from other applications (such as FTP). We present results of critical path analysis for a set of Web transactions taken over a 15 day period under a variety of server and network conditions. These results show that for small and medium sized files, transfer latency is primarily determined by server load and for large files, transfer latency is primarily determined by network conditions.