A Provider-side View of Web Search Response Time

Slides:



Advertisements
Similar presentations
Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Advertisements

Hotmails Performance Tuning Best Practices Aladdin A. Nassar Hotmails Performance Champion Microsoft.
CS193H: High Performance Web Sites Lecture 12: Rule 8 – Make JavaScript and CSS External Steve Souders Google
1 / 18 Network Characteristics of Video Streaming Traffic Ashwin Rao, Yeon-sup Lim *, Chadi Barakat, Arnaud Legout, Don Towsley *, and Walid Dabbous INRIA.
Performance Related Changes and their User Impact
Everything you wanted to know about web performance* *but were afraid to ask.
FileCatalyst Performance Presentation.
©2013 AKAMAI | FASTER FORWARD TM It's all about Performance Measured and Perceived Performance on Desktop and Mobile Devices San Mateo Meetup, July 2013.
Qi Alfred Chen, Haokun Luo, Sanae Rosen, Z. Morley Mao,
The Mystery Machine: End-to-end performance analysis of large-scale Internet services Michael Chow David Meisner, Jason Flinn, Daniel Peek, Thomas F. Wenisch.
Client side performance in Web based Banking applications Divakar Prabhu Infosys Limited (NASDAQ: INFY)
University of Michigan Electrical Engineering and Computer Science Anatomizing Application Performance Differences on Smartphones Junxian Huang, Qiang.
Web Design Vocab 6 Backend, Frontend, Freelancer, JavaScript, Vector Image.
Using the Google Docs word processor Skills: getting a Google account, creating a text document and sharing it on the Internet Concepts: stand-alone applications.
Retrieving compound pages This work is licensed under a Creative Commons Attribution-Noncommercial- Share Alike 3.0 License. Skills: none IT concepts:
1 Owais Mohammad Haq Department of Computer Science Eastern Michigan University April, 2005 Java Script.
2/11/2004 Internet Services Overview February 11, 2004.
Introduction to Active Server Pages
Multiple Tiers in Action
CM143 - Web Week 2 Basic HTML. Links and Image Tags.
V1.00 © 2009 Research In Motion Limited Introduction to Mobile Device Web Development Trainer name Date.
On the Use and Performance of Content Distribution Networks Balachander Krishnamurthy Craig Wills Yin Zhang Presenter: Wei Zhang CSE Department of Lehigh.
Server Side Scripting Norman White. Where do we do processing? Client side – Javascript (embed code in html) – Java applets (send java program to run.
 Zhichun Li  The Robust and Secure Systems group at NEC Research Labs  Northwestern University  Tsinghua University 2.
JavaScript Teppo Räisänen LIIKE/OAMK HTML, CSS, JavaScript HTML defines the structure CSS defines the layout JavaScript is used for scripting It.
Dynamic Web Pages (Flash, JavaScript)
HTML Forms and Scripts. Session overview What are forms? Static vs dynamic Client-side scripts –JavaScript.
11/13/2007 A synchronous J avaScript A nd X ML Gloria Law Joshua Mahaz.
Global NetWatch Copyright © 2003 Global NetWatch, Inc. Factors Affecting Web Performance Getting Maximum Performance Out Of Your Web Server.
User side and server side factors that influence the performance of the website P2 Unit 28.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
Web Overview The birth of Web: 1989 Now Web is about everything – Business (HR systems, e.g. NUHR) – Online Shopping (Amazon), Banking (Citibank, Chase)
The effect of adaptive learning style models, modes and controls on learning achievements Assoc. Prof. Dr. Krassen Stefanov
1 Approaches for Asynchronous Communication in Web Applications Stefan Potthast and Mike Rowe.
Lesson 1 What Is the World Wide Web?. Objectives Upon completion of this lesson, you should be able to: Explain what the World Wide Web is and how it.
Cross Site Integration “mashups” cross site scripting.
WEB SCIENCE. What is the difference between the Internet and the World Wide Web? Internet is the entire network of connected computers and routers used.
Michel Oldroyd – SEO Strategist Search Engine Optimisation Demystified.
Case Study Dynamic Website - Three Tier Architecture
PERFORMANCE ENHANCEMENT IN ASP.NET By Hassan Tariq Session #1.
Measuring and Mitigating Web Performance Bottlenecks in Broadband Access Networks Srikanth Sundaresan, Nick Feamster (Georgia Tech) Renata Teixeira (Inria)
Ajax for Dynamic Web Development Gregory McChesney.
JavaScript Dynamic Active Web Pages Client Side Scripting.
How Web Database Architectures Work CPS181s April 8, 2003.
JavaScript & Introduction to AJAX
1 COMP 431 Internet Services & Protocols HTTP Persistence & Web Caching Jasleen Kaur February 11, 2016.
Online Voting System by Sanghun Chi ECE345. Introduction Traditional voting system inefficient. Takes time and human resources. Does not give an instant.
JavaScript Invented 1995 Steve, Tony & Sharon. A Scripting Language (A scripting language is a lightweight programming language that supports the writing.
THE FUTURE IS HERE: APPLICATION- AWARE CACHING BY ASHOK ANAND.
G046 – Lecture 2A Recognising Web-Technologies Mr C Johnston ICT Teacher
WEB 237 Week 1 DQ 1 Why is it important to test your web pages in various Web browsers? Explain how XML has impacted HTML. Check this A+ tutorial guideline.
JQuery Fundamentals Introduction Tutorial Videos
Cloud Services Today and the Future
JavaScript and Ajax (Ajax Tutorial)
CSC 301 Web Programming Charles Frank.
3 Best Website Speed and Performance Checking Tools
Process of Converting “PSD to HTML”
AJAX.
PHP / MySQL Introduction
Dynamic Web Pages (Flash, JavaScript)
WEB 237 Education for Service-- snaptutorial.com.
Database Driven Websites
CSE 461 HTTP and the Web.
Application-level logs: visualization and anomaly detection
Unit 6 part 3 Test Javascript Test.
Yahoo Search Technologies, Yahoo, Inc. – ROC June 2004
Client-Server Model: Requesting a Web Page
Introduction to JavaScript
Who is Using your webSite?
Retrieving compound pages
Presentation transcript:

A Provider-side View of Web Search Response Time Yingying Chen, Ratul Mahajan, Baskar Sridharan, Zhi-Li Zhang (Univ. of Minnesota) Microsoft

Web services are the dominant way to find and access information *show hands* how many people use web services such as search and social networks? – web service is important to us, it is a service heavily used by almost every one, for search, online shopping, and social interactions. Even a small increase in response time can hurt our experience.

Web service latency is critical to service providers as well +0.5 sec revenue -20% Google Bing The latency of web services is critical to the users like you and me. But it is just as important to the service providers because their ability to monetize the service depends on its performance. There are two recent studies show that a half second increase in search response time leads to 20% drop of Google revenue. A 2 seconds increase in search response time leads to 4.3% of Bing revenue. Latency +2 sec revenue -4.3%

Understanding SRT behavior is challenging SRT (ms) M T W Th F S Su peak off-peak 200+t t SRT (ms) *This behavior is not unique to this particular provider, but we have confirmed that it occurs for another large provider as well.* While response time is important, we find that it is incredibly hard to understand. This graph is the SRT (search response time) over a one-week duration for one of the largest search providers in the world. X-axis is the day of week. Y-axis is the SRT. Each data point is one hour average of SRT. We see that it varies widely and inexplicably over time, despite being averaged over one hour and many, many users. It not only varies, but it can also vary counter-intuitively. <click> This graph shows the average SRT during peak hours and offpeak hours and during weekdays and weekends as highlighted in shaded area in the first graph.. SRT is much higher during off-peak hours and weekends! As we show in the paper, this is despite the fact that the load on the search service is much lower during off peak hours. Thus, we find this surprising behavior that performance is poorer when the load is lower.

Our work Explaining systemic SRT variation Identify SRT anomalies Root cause localization Our work is motivated by such behaviors in SRT. It consists of three main parts. First, we explain the systemic SRT variation, which is the periodic, almost-predictable changes in SRT. I will describe why those changes occur. Second, we find that because of these changes, finding anomalies in SRT is hard because real anomalies get masked by systemic changes. I will describe a method that can effectively identify anomalies by factoring out the interference from systemic variations. Third part is about root cause localization of anomalous SRT. Due to time limitation, I will skip this part of the work in this talk.

Client- and server-side instrumentation query 𝑇 𝑓𝑠 𝑇 𝑓𝑐 𝑇 𝑠𝑐 HTML header Brand header BoP scripts Query results Embedded images 𝑇 ℎ𝑒𝑎𝑑 𝑇 𝑏𝑟𝑎𝑛𝑑 𝑇 𝑡𝑐 𝑇 𝑖𝑛𝑡𝑐ℎ𝑘1 𝑇 𝑟𝑒𝑠𝐻𝑇𝑀𝐿 Referenced content 𝑇 𝐵𝑂𝑃 Before digging into the details of our work, let me briefly describe how search works and the data we use to analyze its behavior. A query works as the following. After the server receives the query request from a user, it sends the response page in three chunks. The first chunk includes the HTML and brand header. Second chunk contains the 10 plain text search results and some javascripts that will be run at the bottom of pages. Images will be sent in the third chunk. Some images are embedded in the response page. Other images, as well as some CSS and javascript will be sent as separate referenced content. They are fetched by browsers by issuing additional queries to the search provider or third parties server. These queries are pipelined and issued in parallel to the reception and parsing of HTML content. After user receives all three chunks, it will send a post load request to the server for a 1x1 image. This is mainly used by the search provider to estimate the SRT from Provider’s perspective, as they can not log the first timestamp when user triggers the search query on the user side. For each of the event discussed here, we collect detailed time intervals using javascript and server-side instrumentation that captures each of the events. We also use the sum of the two shaded area to estimate the network round trip time. 𝑇 𝑖𝑛𝑡𝑐ℎ𝑘2 𝑇 𝑒𝑚𝑏𝑒𝑑 𝑇 𝑟𝑒𝑓 𝑇 𝑠𝑐𝑟𝑖𝑝𝑡 on-load

Impact Factors of SRT server network browser query 𝑇 𝑓𝑠 𝑇 ℎ𝑒𝑎𝑑 𝑇 𝑏𝑟𝑎𝑛𝑑 *explain the four factors* With these time intervals at hand, how can we explain the SRT variation puzzle as we discuss in the beginning of this talk? First, we group all possible impact factors of SRT into four categories, server, network, browser, and query. They should capture most of the events that may impact the end-to-end performance between the user and server. However, unfortunately, the relationship between the time intervals and the impact factors are not one to one mapping. There is no single time intervals that capture each single impact factor we listed here. 𝑇 𝑓𝑠 𝑇 ℎ𝑒𝑎𝑑 𝑇 𝑏𝑟𝑎𝑛𝑑 𝑇 𝑖𝑛𝑡𝑐ℎ𝑘1 𝑇 𝑟𝑒𝑠𝐻𝑇𝑀𝐿 𝑇 𝐵𝑂𝑃 𝑇 𝑠𝑐𝑟𝑖𝑝𝑡 𝑇 𝑒𝑚𝑏𝑒𝑑 𝑇 𝑟𝑒𝑓 𝑇 𝑓𝑐 𝑇 𝑛𝑒𝑡 𝑇 𝑖𝑛𝑡𝑐ℎ𝑘2 𝑇 𝑠𝑐 𝑇 𝑡𝑐

Primary factors of SRT variation Apply Analysis of Variance (ANOVA) on the time intervals 𝑉𝑎𝑟 𝑆𝑅𝑇 = 𝑘 𝑉𝑎𝑟 𝑇 𝑘 ,𝑆𝑅𝑇 + ƞ SRT variance Variance explained by time interval k Unexplained variance To understand the primary factors, we apply analysis of variance (anova) on our collected time intervals. ANOVA is a statistical tool that partitions SRT variation into components attributable to each time interval variable. It works as follows (***replace with new graph, combine this graph with the previous graph) The results show that the top 2 time intervals that contribute most of the SRT variation are T_net and T_BOP. They are affected by network characteristics, query type, and browser speed, respectively. On the other hand, the time intervals that are mainly affected by server processing time are less important. Therefore, our conclusion of this study is that the primary factors in SRT variation are network, query, and browser, while server processing time is less important. In the next few slides, we will look at each of the three primary factors by controlling the other two factors.

network server browser query 60 40 20 Explained variance (%) 𝑇 𝑛𝑒𝑡 𝑇 𝐵𝑂𝑃 𝑇 𝑟𝑒𝑓 𝑇 𝑠𝑐𝑟𝑖𝑝𝑡 𝑇 𝑟𝑒𝑠𝐻𝑇𝑀𝐿 𝑇 𝑓𝑐 𝑇 ℎ𝑒𝑎𝑑 𝑇 𝑠𝑐 𝑇 𝑡𝑐 *our conclusion doesn’t mean that server processing time is not important, but just that it plays a less important role in SRT variation.* In the next few slides, we will discuss each of the primary factors in detail while controlling the other two factors. server network browser query Primary factors: network characteristics, browser speed, query type Server-side processing time has a relatively small impact

Variation in network characteristics RTT Network characteristics are worse by 20% during off−peak hours

Explaining network variations Residential networks send a higher fraction of queries during off-peak hours than peak hours Residential networks are slower

Residential networks are slower Residential networks send a higher fraction of queries during off-peak hours than peak hours residential unknown enterprise residential enterprise RTT (ms) 25% 1.25t t Residential networks are slower *Conservative classification of networks using weekend to weekday usage ratio Worse network translates to worse SRT

Variation in query type Impact of query on SRT Server processing time Richness of response page Measure: number of image What is query type? Query type variation. *Number of images correlate to other richness measures.

Explaining query type variation Peak hours Off-peak hours peak: work related, no images off-peak: leisure-oriented, rich queries Richer queries leads to higher SRT

Browser variations Browser-Y has better performance Two most popular browsers: X(35%), Y(40%) Browser-Y sends a higher fraction of queries during off-peak hours Browser-Y has better performance Browser-X Browser-Y Javascript exec time 82% 1.82t t

Summarizing systemic SRT variation Server: Little impact Network: Poorer during off-peak hours Query: Richer during off-peak hours Browser: Faster during off-peak hours *Net effect is ...

Detecting anomalous SRT variations Challenge: interference from systemic variations *is this an anomaly?*

Week-over-Week (WoW) approach 𝑆𝑅𝑇=Long term trend + Seasonality + Noise *time series decomposition (*put a brief intro of WoW, summation of three components) For noise component, our assumption: same hour across different weeks have similar performance *168 models, as one model doesn’t work

time series decomposition ( *time series decomposition (*put a brief intro of WoW, summation of three components) For noise component, our assumption: same hour across different weeks have similar performance *168 models, as one model doesn’t work

These data points are flagged as anomalous These data points are flagged as anomalous. But they are not visually apparent in the original SRT time series.

Comparison with approaches that do not account for systemic variations WoW One Gaussian model of SRT Change point detection False negative 10% 35% 40% False positive 7% 17% 19% The simple Gaussian model approach only detects globally huge spikes, which can overlap with the systemic variations. The change point approach detects only local spikes between any two change points. The WoW approach can detect not only globally huge spikes, but also anomalies that are not visually apparent due to interference from systemic variations.

Conclusions Understanding SRT is challenging Changes in user demographics lead to systemic variations in SRT Debugging SRT is challenging Must factor out systemic variations To conclude our study, In conclusion, Our work was motivated by the wide variation in SRT as seen by the provider, despite being averaged over large time windows and many users, varies widely. This variation can also be counter-intuitive. As we show, SRT is in fact higher during off-peak hours, even though the load at those times is lower. By applying an ANOVA-based method, we were able to understand the primary factors behind systemic variations in SRT. We found that systemic changes in aggregate network, query, and browser characteristics led to systemic changes in SRT. We also found that, in contrast, server response time is a smaller contributor to SRT variation. Finally, we found that anomalies in SRT are hard to detect because they get masked by systemic changes. We developed a time-series decomposition-based method that identifies SRT anomalies by factoring out the impact of systemic variation. ---------------- First, we discuss the challenges in understanding SRT variation. It varies widely, and it is higher while traffic load is much lower during off-peak hours. Second, To understand systemic variation, we apply ANOVA on all the time intervals we collected. The results show that to provide consistent web service latency, focusing on server processing time alone is insufficient. Instead, network, query type, and browsers have become the primary factors. There are higher fractions of slower networks, richer queries, and faster browsers during off-peak hours. To improve the SRT during off-peak hours, search providers can customize the design to slower networks, richer queries, and account for the strength and weakness of browsers. Lastly, our study also emphasizes the importance of factoring out systemic variation in anomaly detection. --------------

Implications Performance monitoring Performance management Should understand performance-equivalent classes Performance management Should consider the impact of network, browser, and query Performance debugging End-to-end measures are tainted by user behavior changes Our work has several implications, not just for search, but for Web services in general. *consistent performance* First, service performance monitoring is difficult because the signal that the providers get is aggregated across all users. But users have different characteristics and their relative demographics change over time, which means that aggregate performance changes over time even when the service is behaving consistently. A better monitoring strategy would be for the provider to identify groups of users that are expected to have similar performance and monitoring should be done at the level of these groups. Changes in performance within such groups is a reliable signal of the service performance changing. Second, on performance management front, a great deal of research has gone into providing consistent performance to users. However, much of this work has focused on server processing time. But our work showed that variations in user performance stem largely from factors other than server processing time. This means that we need to develop techniques that minimize the impact of network, browser, and query, if we want to provide consistent experience to users. Finally, on the performance debugging front, many researchers have argued for using end-to-end measures like user-experienced response time rather than low-level measures like link utilization or loss rate. We find that at Internet scale, end-to-end performance measures are heavily tainted by changes in user behavior. Their variation does not imply a failure in the system. Effective debugging in this environment requires appropriately combining end-to-end and low-level measures, as well as factoring out the impact of systemic changes

Questions?