Next: 2. Related Work
Up: EtE: Passive End-to-End Internet
Previous: EtE: Passive End-to-End Internet
1. Introduction
Today, Internet services are delivering a large array of business,
government, and personal services. Similarly, mission critical
operations, related to scientific instrumentation, military
operations, and health services, are making increasing use of the
Internet for delivering information and distributed coordination.
However, the best effort nature of Internet data delivery, changing
client and network connectivity characteristics, and the highly
complex architectures of modern Internet services make it very
difficult to understand the performance characteristics of Internet
services. In a competitive landscape, such understanding is critical
to continually evolving and engineering Internet services to match
changing demand levels and client populations.
Currently, there are two popular techniques for benchmarking the
performance of Internet services. The first approach, active
probing [13,17,23,19], uses machines from
fixed points in the Internet to periodically request one or more URLs
from a target web service, record end-to-end performance
characteristics, and report a time-varying summary back to the web
service. The second approach, web page
instrumentation [8,10,2,20], associates
code (e.g., JavaScript) with target web pages. The code, after being
downloaded into the client browser, tracks the download time for
individual objects and reports performance characteristics back to the
web site.
In this paper, we present a novel approach to measuring web site
performance called EtE monitor. Our system passively collects network
packet traces from the server site to enable either offline or online
analysis of system performance characteristics. Using two-pass
heuristics and statistical filtering mechanisms, we are able to
accurately reconstruct individual page composition without parsing
HTML files or obtaining out-of-band information about changing site
characteristics. Relative to existing techniques, EtE monitor offers
a number of benefits:
- Our system can determine the breakdown between the server and
network overhead associated with retrieving a web page. This
information is necessary to understand where performance optimizations
should be directed, for instance to improve server-side performance or
to leverage existing content distribution networks (CDNs) to improve network
locality.
- EtE monitor tracks all accesses to web pages for a given
service. Many existing techniques are typically restricted to a few
probes per hour to URLs that are pre-determined to be popular. Our
approach is much more agile to changing client access patterns. What
real clients are accessing determines the performance that EtE monitor
evaluates. Finally, given the Zipf popularity of service web
pages [1], our approach is able to track the characteristics
of the heavy tail that often makes up a large overall portion of web
site accesses.
- Given information on all client accesses, clustering
techniques [15] can be utilized to determine network
performance characteristics by network region or autonomous system.
System administrators can use this information to determine which content
distribution networks to partner with (depending on their points of
presence) or to determine multi-homing strategies with particular
ISPs.
- EtE monitor captures information on page requests that are
manually aborted by the client, either because of unsatisfactory web
site performance or specific client browsing patterns (e.g., clicking
on a link before a page has completed the download process). Existing
techniques cannot model user interactions in the case of active
probing or miss important aspects of web site performance such as TCP
connection establishment in the case of web page instrumentation.
- Finally, EtE monitor is able to determine the actual benefits of
both browser and network caches. By learning the likely composition
of individual web pages, our system can determine when certain
embedded objects of a web page are not requested and conclude that
those objects were retrieved from some cache in the network.
This paper presents the architecture and implementation of our
prototype EtE monitor. It also highlights the benefits of our
approach through an evaluation of the performance of two sample
network services using EtE monitor. Overall, we believe that detailed
performance information will enable network services to dynamically
react to changing access patterns and system characteristics to best
match client QoS expectations.
Depending on the architecture of the system, a front end ``Layer-7''
switch [18] could redirect requests for particular objects to
a smaller or larger set of back-end machines based on observed
performance summaries. Similarly, performance characteristics across
multiple services being served from a single hosting center can be
used to allocate resources to competing services to, for example,
maximize aggregate throughput or to maintain higher-level service
level agreements [4]. Sites may also use performance
information to dynamically adjust system consistency [25] or
content fidelity [3] with the goal of meeting target
levels of performance.
The rest of this paper is organized as follows. In the next section,
we survey existing techniques and products and discuss their merits
and drawbacks. Section 3 outlines the EtE monitor
architecture, with additional details in
Sections 4-6. In
Section 7, we present the results of two performance
studies, which have been performed to test and validate EtE monitor
and its approach.
Section 8 presents two specially
designed experiments to validate the accuracy of EtE monitor
performance measurements and its page access reconstruction
power. We discuss the limitations of the proposed technique in
Section 9 and present our conclusions and future work
in Section 10.
Acknowledgments: Both the tool and the study would not have been
possible without generous help of our HP colleagues: Mike Rodriquez,
Steve Yonkaitis, Guy Mathews, Annabelle Eseo, Peter Haddad, Bob
Husted, Norm Follett, Don Reab, and Vincent Rabiller. Their help is highly
appreciated. Our special thanks to Claude Villermain who helped to
identify and to correct a subtle bug for dynamic page reconstruction.
We would like to thank the anonymous referees for useful remarks and
insightful questions, and our shepherd Jason Nieh for constructive
suggestions to improve the content and presentation of the paper.
Next: 2. Related Work
Up: EtE: Passive End-to-End Internet
Previous: EtE: Passive End-to-End Internet