Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Beaconnect: continuous web performance A/B testing at scale

Published: 01 August 2022 Publication History

Abstract

Content delivery networks (CDNs) are critical for minimizing access latency in the Web as they efficiently distribute online resources across the globe. But since CDNs can only be enabled on the scope of entire websites (and not for individual users or user groups), the effects of page speed acceleration are often quantified with potentially skewed before-after comparisons rather than statistically sound A/B tests. We introduce the system Beaconnect for collecting and analyzing Web performance data without being subject to these limitations. Our contributions are threefold. First, Beaconnect is natively compatible with A/B testing Web performance as it is built for a custom browser-based acceleration approach and thus does not rely on traditional CDN technology. Second, we present our continuous aggregation pipeline that achieves sub-minute end-to-end latency. Third, we describe and evaluate a scheme for continuous real-time reporting that is especially efficient for large customers and processes data from over 100 million monthly users at Baqend.

References

[1]
2022. Akamai. https://www.akamai.com. (accessed: May 09, 2022).
[2]
2022. Cloudflare. https://www.cloudflare.com/. (accessed: May 09, 2022).
[3]
2022. web.dev. https://web.dev/. (accessed: May 09, 2022).
[4]
2022. WebPageTest. https://www.webpagetest.org/. (accessed: May 09, 2022).
[5]
AB Tasty. 2022. The Complete Guide to A/B Testing. https://www.abtasty.com/ab-testing/. (accessed May 08, 2022).
[6]
Adobe. 2022. Adobe Analytics. https://www.adobe.com/de/analytics/adobe-analytics.html. (accessed May 08, 2022).
[7]
Marcos K. Aguilera, Jeffrey C. Mogul, Janet L. Wiener, Patrick Reynolds, and Athicha Muthitacharoen. 2003. Performance Debugging for Distributed Systems of Black Boxes. ACM SIGOPS Review 37, 5 (2003), 74--89.
[8]
Akamai. 2022. mPulse. https://www.akamai.com/uk/en/products/performance/mpulse-real-user-monitoring.jsp. (accessed: May 09, 2022).
[9]
Alex Russell and Jungkee Song and Jake Archibald and Marijn Kruisselbrink. 2019. Service Workers 1: W3C Candidate Recommendation. https://www.w3.org/TR/service-workers/. (accessed May 08, 2022).
[10]
Amazon. 2022. Amazon CloudFront. https://aws.amazon.com/cloudfront/. (accessed: May 09, 2022).
[11]
AWS. 2022. Amazon Kinesis Data Streams. https://aws.amazon.com/kinesis/data-streams/. (2022). (accessed May 08, 2022).
[12]
AWS. 2022. Amazon S3. https://aws.amazon.com/s3/. (2022). (accessed May 08, 2022).
[13]
Benjamin Wollmer and Wolfram Wingerath. 2020. Mobile Site Speed - The User Perspective. https://medium.baqend.com/16cd77f9ce25. Baqend Tech Blog (2020). (accessed May 08, 2022).
[14]
Tim Berners-Lee, Roy T. Fielding, and Henrik Frystyk Nielsen. 1996. Hypertext Transfer Protocol - HTTP/1.0. RFC 1945. RFC Editor. http://www.rfc-editor.org/rfc/rfc1945.txt (accessed November 22, 2021).
[15]
Leszek Borzemski. 2010. The Experimental Design for Data Mining to Discover Web Performance Issues in a Wide Area Network. Cybernetics and Systems: An International Journal 41, 1 (2010), 31--45.
[16]
Leszek Borzemski, Marta Kliber, and Ziemowit Nowak. 2009. Using Data Mining Algorithms in Web Performance Prediction. Cybernetics and Systems: An International Journal 40, 2 (2009), 176--187.
[17]
Anna Bouch, Allan Kuchinsky, and Nina Bhatti. 2000. Quality is in the Eye of the Beholder: Meeting Users' Requirements for Internet Quality of Service. In ACM SIGCHI. 297--304.
[18]
Jin Cao, William S. Cleveland, Yuan Gao, Kevin Jeffay, F. Donelson Smith, and Michele Weigle. 2004. Stochastic Models for Generating Synthetic HTTP Source Traffic. In IEEE INFOCOM, Vol. 3. 1546--1557.
[19]
Mike Y. Chen, Emre Kiciman, Eugene Fratkin, Armando Fox, and Eric Brewer. 2002. Pinpoint: Problem Determination in Large, Dynamic Internet Services. In DSN. 595--604.
[20]
Jürgen Cito, Devan Gotowka, Philipp Leitner, Ryan Pelette, Dritan Suljoti, and Schahram Dustdar. 2015. Identifying Web Performance Degradations Through Synthetic and Real-User Monitoring. Journal of Web Engineering (2015), 414--442.
[21]
Dynatrace. 2022. Dynatrace Real-User Monitoring (RUM). https://www.dynatrace.com/platform/real-user-monitoring/. (accessed May 08, 2022).
[22]
Elasticsearch. 2022. Elasticsearch. https://www.elastic.co/. (2022). (accessed May 08, 2022).
[23]
Aleksander Fabijan, Pavel Dmitriev, Helena Holmström Olsson, and Jan Bosch. 2017. The Benefits of Controlled Experimentation at Scale. In SEAA. 18--26.
[24]
Fastly. 2022. Fastly. https://www.fastly.com/. (accessed May 08, 2022).
[25]
Felix Gessert and Wolfram Wingerath. 2020. Batching was Yesterday! Real-Time Tracking For 100+ Million Visitors. https://emea-resources.awscloud.com/dach-events-webinars/batching-was-yesterday-real-time-tracking-for-100-million-visitors. AWS Webinar (2020). (accessed May 08, 2022).
[26]
Ellen Friedman and Kostas Tzoumas. 2016. Introduction to Apache Flink: Stream Processing for Real Time and Beyond (1st ed.). O'Reilly Media, Inc.
[27]
Google. 2021. How a Web Session is Defined in Universal Analytics. https://support.google.com/analytics/answer/2731565. (accessed November 11, 2021).
[28]
Google. 2022. About Data Sampling. https://support.google.com/analytics/answer/2637192. (accessed May 08, 2022).
[29]
Google. 2022. Data Limits for Universal Analytics Properties. https://support.google.com/analytics/answer/1070983. (accessed May 08, 2022).
[30]
Google. 2022. Google Analytics. https://analytics.google.com. (accessed: May 09, 2022).
[31]
Kibana. 2022. Kibana. https://www.elastic.co/kibana. (2022). (accessed May 08, 2022).
[32]
Andrew B. King. 2003. Speed up Your Site: Web Site Optimization. New Riders.
[33]
Ron Kohavi, Randal M. Henne, and Dan Sommerfield. 2007. Practical Guide to Controlled Experiments on the Web: Listen to Your Customers, Not to the Hippo. In ACM SIGKDD. ACM, 959--967.
[34]
Ron Kohavi and Roger Longbotham. 2017. Online Controlled Experiments and A/B Testing. Encyclopedia of Machine Learning and Data Mining 7, 8 (2017), 922--929.
[35]
George Pallis and Athena Vakali. 2006. Insight and perspectives for content delivery networks. Commun. ACM 49, 1 (2006), 101--106.
[36]
Al-Mukaddim Khan Pathan and Rajkumar Buyya. 2007. A Taxonomy and Survey of Content Delivery Networks. Grid Computing and Distributed Systems Laboratory, University of Melbourne, Technical Report 4 (2007), 70.
[37]
Raghav Sethi, Martin Traverso, Dain Sundstrom, David Phillips, Wenlei Xie, Yutian Sun, Nezih Yegitbasi, Haozhun Jin, Eric Hwang, Nileema Shingte, and Christopher Berner. 2019. Presto: SQL on Everything. In ICDE. 1802--1813.
[38]
Dan Siroker and Pete Koomen. 2013. A/B Testing: The Most Powerful Way to Turn Clicks Into Customers. John Wiley & Sons.
[39]
Swaminathan Sivasubramanian. 2012. Amazon DynamoDB: A Seamlessly Scalable Non-Relational Database Service. In SIGMOD. 729--730.
[40]
Wolfram Wingerath. 2019. Big Data Analytics With AWS Athena. https://youtu.be/POUrpC8hqWU. Code Talks (2019). (accessed May 08, 2022).
[41]
Wolfram Wingerath, Felix Gessert, Erik Witt, Hannes Kuhlmann, Florian Bücklers, Benjamin Wollmer, and Norbert Ritter. 2020. Speed Kit: A Polyglot & GDPR-Compliant Approach For Caching Personalized Content. In ICDE. 1603--1608.
[42]
Wolfram Wingerath, Norbert Ritter, and Felix Gessert. 2019. Real-Time & Stream Data Management: Push-Based Data in Research & Practice. Springer International Publishing.
[43]
Wolfram Wingerath, Benjamin Wollmer, Markus Bestehorn, Daniel Zaeh, Florian Bücklers, Jörn Domnik, Anil Sener, Stephan Succo, and Virginia Amberg. 2021. How Baqend Built a Real-Time Web Analytics Platform Using Amazon Kinesis Data Analytics for Apache Flink. https://aws.amazon.com/de/blogs/big-data/how-baqend-built-a-real-time-web-analytics-platform-using-amazon-kinesis-data-analytics-for-apache-flink/. AWS Big Data Blog (2021). (accessed May 09, 2022).
[44]
Wolfram Wingerath and Benjamin Wollmer. 2020. Mobile Site Speed - The Business Perspective. https://medium.baqend.com/77c5852e2743. Baqend Tech Blog (2020). (accessed May 08, 2022).
[45]
Xiaoqian Wu. 2020. A Primer for Web Performance Timing APIs. https://w3c.github.io/perf-timing-primer/. W3C Editor's Draft (2020). (accessed February 25, 2021).
[46]
Scott W. H. Young. 2014. Improving Library User Experience with A/B Testing: Principles and Process. Weave: Journal of Library User Experience 1, 1 (2014).
[47]
Matei Zaharia, Mosharaf Chowdhury, Michael J. Franklin, Scott Shenker, and Ion Stoica. 2010. Spark: Cluster Computing with Working Sets. In USENIX HotCloud. 10.
[48]
Matei Zaharia, Tathagata Das, Haoyuan Li, Timothy Hunter, Scott Shenker, and Ion Stoica. 2013. Discretized Streams: Fault-Tolerant Streaming Computation at Scale. In ACM SOSP. Association for Computing Machinery, 423--438.

Information & Contributors

Information

Published In

cover image Proceedings of the VLDB Endowment
Proceedings of the VLDB Endowment  Volume 15, Issue 12
August 2022
551 pages
ISSN:2150-8097
Issue’s Table of Contents

Publisher

VLDB Endowment

Publication History

Published: 01 August 2022
Published in PVLDB Volume 15, Issue 12

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)18
  • Downloads (Last 6 weeks)2
Reflects downloads up to 30 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)A Grey Literature Review on Data Stream Processing applications testingJournal of Systems and Software10.1016/j.jss.2023.111744203:COnline publication date: 13-Jul-2023

View Options

Login options

Full Access

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media