WebProphet: Automating Performance Prediction for Web Services - Li, Zhichun; Zhang, Ming; Zhu, Zhaosheng; Chen, Yan; Greenberg, Albert; Wang, Yi-Min (NSDI, 2010)
Today, large-scale web services run on complex systems, spanning multiple data centers and content distribution networks, with performance depending on diverse factors in end systems, networks, and infrastructure servers. Web service providers have many options for improving service performance, varying greatly in feasibility, cost and bene t, but have few tools to predict the impact of these options. A key challenge is to precisely capture web object dependencies, as these are essential for predicting performance in an accurate and scalable manner. In this paper, we introduce WebProphet, a system that automates performance prediction for web services. WebProphet employs a novel technique based on timing perturbation to extract web object dependencies, and then uses these dependencies to predict the performance impact of changes to the handling of the objects. We have built, deployed, and evaluated the accuracy and ef - ciency of WebProphet. Applying WebProphet to the Search and Maps services of Google and Yahoo, we nd WebProphet predicts the median and 95th percentiles of the page load time distribution with an error rate smaller than 16% in most cases. Using Yahoo Maps as an example, we nd thatWebProphet reduces the problem of performance optimization to a small number of web objects whose optimization would reduce the page load time by nearly 40%.