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

skip to main content
research-article
Open access

Fusing Speed Index during Web Page Loading

Published: 28 February 2022 Publication History

Abstract

With conventional web page load metrics (e.g., Page Load Time) being blamed for deviating from actual user experiences, in recent years a more sensible and complex metric called Speed Index (SI) has been widely adopted to measure the user's quality of experience (QoE). In brief, SI indicates how quickly a page is filled up with above-the-fold visible elements (or crucial elements for short). To date, however, SI has been used as a metric for performance evaluation, rather than as an explicit heuristic to improve page loading. To demystify this, we examine the entire loading process of various pages and ascribe such incapability to three-fold fundamental uncertainties in terms of network, browser execution, and viewport size. In this paper, we design SipLoader, an SI-oriented page load scheduler through a novel cumulative reactive scheduling framework. It does not attempt to deal with uncertainties in advance or in one shot, but schedules page loading by "repairing" the anticipated (nearly) SI-optimal scheduling when uncertainties actually occur. This is achieved with a suite of efficient designs that fully exploit the cumulative nature of SI calculation. Evaluations show that SipLoader improves the median SI by 41%, and provides 1.43 times to 1.99 times more benefits than state-of-the-art solutions.

References

[1]
2007. Liquid Layout. https://www.w3.org/WAI/GL/WCAG20/WD-WCAG20-TECHS-20071102/G146.html.
[2]
2016. Speed Index: A Key Metric for the User Experience. https://www.fasterize.com/en/blog/speed-index-a-keymetric- for-the-user-experience/.
[3]
2016. Speedline. https://github.com/paulirish/speedline.
[4]
2017. Understanding Speed Index. https://www.catchpoint.com/blog/speed-index.
[5]
2019. How to Use Google's Speed Index to Improve Wordpress Performance. https://wpmudev.com/blog/speed-indexwordpress/.
[6]
2019. Reduce the Scope and Complexity of Style Calculations. https://developers.google.com/web/fundamentals/per formance/rendering/reduce-the-scope-and-complexity-of-style-calculations.
[7]
2020. Responsive Web Design Basics. https://web.dev/responsive-web-design-basics/.
[8]
2020. Time to Largest Paint. https://web.dev/lcp/.
[9]
2021. Alexa Top Sites. https://www.alexa.com/topsites.
[10]
2021. Amazon. https://www.amazon.com/.
[11]
2021. BBC. https://www.bbc.com/.
[12]
2021. Beautiful Soup Documentation. https://www.crummy.com/software/BeautifulSoup/bs4/doc/.
[13]
2021. Chrome DevTools. https://developer.chrome.com/docs/devtools/.
[14]
2021. Chrome DevTools Protocol. https://chromedevtools.github.io/devtools-protocol/.
[15]
2021. Elements' Bounding Rectangle. https://developer.mozilla.org/en-US/docs/Web/API/Element/getBoundingClien tRect.
[16]
2021. Getting Started with Headless Chrome. https://developers.google.com/web/updates/2017/04/headless-chrome.
[17]
2021. Lighthouse. https://developers.google.com/web/tools/lighthouse.
[18]
2021. MSN. https://www.msn.com.
[19]
2021. MutationObserver API. https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver.
[20]
2021. Page Load Time. https://developer.mozilla.org/en-US/docs/Web/API/Navigation_timing_API.
[21]
2021. Pinterest. https://www.pinterest.com/.
[22]
2021. Puppeteer: Headless Chrome Node.js API. https://github.com/puppeteer/puppeteer.
[23]
2021. Speed Index. https://web.dev/speed-index/.
[24]
2021. Time to First Byte. https://developer.mozilla.org/en-US/docs/Glossary/time_to_first_byte.
[25]
2021. Time to First Paint. https://developer.mozilla.org/en-US/docs/Web/API/PerformancePaintTiming.
[26]
2021. Using Liquid Layout. https://www.w3.org/WAI/WCAG21/Techniques/general/G146.html.
[27]
2021. WebAssembly. https://webassembly.org/.
[28]
2021. WebPageTest Documentation. https://docs.webpagetest.org/metrics/speedindex/.
[29]
Michael Butkiewicz, Daimeng Wang, Zhe Wu, Harsha V Madhyastha, and Vyas Sekar. 2015. Klotski: Reprioritizing Web Content to Improve User Experience on Mobile Devices. In Proc. of NSDI. USENIX, 439--453.
[30]
Chandra Chekuri and Rajeev Motwani. 1999. Precedence Constrained Scheduling to Minimize Sum of Weighted Completion Times on a Single Machine. Discrete Applied Mathematics 98, 1 (1999), 29--38.
[31]
Thomas H Cormen, Charles E Leiserson, Ronald L Rivest, and Clifford Stein. 2009. Introduction to Algorithms. MIT.
[32]
Diego da Hora, Dario Rossi, Vassilis Christophides, and Renata Teixeira. 2018. A Practical Method for Measuring Web Above-the-Fold Time. In Proc. of SIGCOMM Conference on Posters and Demos. ACM, 105--107.
[33]
Diego Neves da Hora, Alemnew Sheferaw Asrese, Vassilis Christophides, Renata Teixeira, Dario Rossi, Vassilis Christophides, Renata Teixeira, and Dario Rossi. 2018. Narrowing the Gap Between QoS Metrics and Web QoE Using Above-the-Fold Metrics. In Proc. of PAM, Vol. 10771. Springer, 31--43.
[34]
Sebastian Egger, Peter Reichl, Tobias Hosfeld, and Raimund Schatz. 2012. "Time Is Bandwidth"? Narrowing the Gap Between Subjective Time Perception and Quality of Experience. In Proc. of ICC. IEEE, 1325--1330.
[35]
Qingzhu Gao, Prasenjit Dey, and Parvez Ahammad. 2017. Perceived Performance of Top Retail Webpages in the Wild. ACM SIGCOMM Computer Communication Review 47, 5 (2017), 42--47.
[36]
Brian Groelinger. 2019. Blocking: The Web Performance Villain. https://blog.bluetriangle.com/blocking-web-perfor mance-villain.
[37]
Willy Herroelen and Roel Leus. 2005. Project Scheduling under Uncertainty: Survey and Research Potentials. European Journal of Operational Research 165, 2 (2005), 289--306.
[38]
Byungjin Jun, Fabián E. Bustamante, Sung Yoon Whang, and Zachary S. Bischof. 2019. AMP up Your Mobile Web Experience: Characterizing the Impact of Google's Accelerated Mobile Project. In Proc. of MobiCom. ACM, 1--14.
[39]
Nikhil Kansal, Murali Ramanujam, and Ravi Netravali. 2021. Alohamora: Reviving HTTP/2 Push and Preload by Adapting Policies On the Fly. In Proc. of NSDI. USENIX, 269--287.
[40]
Conor Kelton, Jihoon Ryoo, Aruna Balasubramanian, and Samir R. Das. 2017. Improving User Perceived Page Load Time Using Gaze. In Proc. of NSDI. USENIX, 545--559. Proc. ACM Meas. Anal. Comput. Syst., Vol. 6, No. 1, Article 23. Publication date: March 2022. Fusing Speed Index during Web Page Loading 23:23
[41]
Ronny Ko, James Mickens, Blake Loring, and Ravi Netravali. 2021. Oblique: Accelerating Page Loads Using Symbolic Execution. In Proc. of NSDI. USENIX, 289--302.
[42]
Eugene L Lawler. 1978. Sequencing Jobs to Minimize Total Weighted Completion Time Subject to Precedence Constraints. In Algorithmic Aspects of Combinatorics. Vol. 2. Elsevier, 75--90.
[43]
Zhenhua Li, Weiwei Wang, Tianyin Xu, Xin Zhong, Xiang-Yang Li, Yunhao Liu, Christo Wilson, and Ben Y Zhao. 2016. Exploring Cross-Application Cellular Traffic Optimization with Baidu Trafficguard. In Proc. of NSDI. USENIX, 61--76.
[44]
Shaghayegh Mardani, Ayush Goel, Ronny Ko, Harsha V Madhyastha, and Ravi Netravali. 2021. Horcrux: Automatic JavaScript Parallelism for Resource-Efficient Web Computation. In Proc. of OSDI. USENIX, 461--477.
[45]
Shaghayegh Mardani, Mayank Singh, and Ravi Netravali. 2020. Fawkes: Faster Mobile Page Loads via App-Inspired Static Templating. In Proc. of NSDI. USENIX, 879--894.
[46]
Javad Nejati and Aruna Balasubramanian. 2016. An In-Depth Study of Mobile Browser Performance. In Proc. of WWW. ACM, 1305--1315.
[47]
Javad Nejati and Aruna Balasubramanian. 2020. WProfX: A Fine-Grained Visualization Tool forWeb Page Loads. ACM Human-Computer Interaction 4, EICS (2020), 1--22.
[48]
Ravi Netravali, Ameesh Goyal, James Mickens, and Hari Balakrishnan. 2016. Polaris: Faster Page Loads Using Fine-Grained Dependency Tracking. In Proc. of NSDI. USENIX, 123--136.
[49]
Ravi Netravali and James Mickens. 2018. Prophecy: Accelerating Mobile Page Loads Using Final-State Write Logs. In Proc. of NSDI. USENIX, 249--266.
[50]
Ravi Netravali, Vikram Nathan, James Mickens, and Hari Balakrishnan. 2018. Vesper: Measuring Time-to-Interactivity for Web Pages. In Proc. of NSDI. USENIX, 217--231.
[51]
Ravi Netravali, Anirudh Sivaraman, Somak Das, Ameesh Goyal, Keith Winstein, James Mickens, and Hari Balakrishnan. 2015. Mahimahi: Accurate Record-and-Replay for HTTP. In Proc. of ATC. USENIX, 417--429.
[52]
Ravi Netravali, Anirudh Sivaraman, James Mickens, and Hari Balakrishnan. 2019. WatchTower: Fast, Secure Mobile Page Loads Using Remote Dependency Resolution. In Proc. of MobiSys. ACM, 430--443.
[53]
Joseph o'Rourke. 1998. Computational Geometry in C. Cambridge University.
[54]
Behnam Pourghassemi, Jordan Bonecutter, Zhou Li, and Aparna Chandramowlishwaran. 2021. adPerf: Characterizing the Performance of Third-Party Ads. In Proc. of SIGMETRICS. ACM, 37--38.
[55]
Shankaranarayanan Puzhavakath Narayanan, Yun Seong Nam, Ashiwan Sivakumar, Balakrishnan Chandrasekaran, Bruce Maggs, and Sanjay Rao. 2016. Reducing Latency Through Page-Aware Management of Web Objects by Content Delivery Networks. In Proc. of SIGMETRICS. ACM, 89--100.
[56]
V Ramasubramanian and Kuldip K Paliwal. 1992. Fast K-Dimensional Tree Algorithms for Nearest Neighbor Search with Application to Vector Quantization Encoding. IEEE Transactions on Signal Processing 40, 3 (1992), 518--531.
[57]
Vaspol Ruamviboonsuk, Ravi Netravali, Muhammed Uluyol, and Harsha V. Madhyastha. 2017. Vroom: Accelerating the Mobile Web with Server-Aided Dependency Resolution. In Proc. of SIGCOMM. ACM, 390--403.
[58]
Manuel Serrano. 2018. Javascript AOT Compilation. In Proc. of DLS. ACM, 50--63.
[59]
Ashiwan Sivakumar, Chuan Jiang, Yun Seong Nam, Shankaranarayanan Puzhavakath Narayanan, Vijay Gopalakrishnan, Sanjay G. Rao, Subhabrata Sen, Mithuna Thottethodi, and T. N. Vijaykumar. 2017. NutShell: Scalable Whittled Proxy Execution for Low-Latency Web over Cellular Networks. In Proc. of MobiCom. ACM, 448--461.
[60]
Matteo Varvello, Jeremy Blackburn, David Naylor, and Konstantina Papagiannaki. 2016. EYEORG: A Platform for Crowdsourcing Web Quality of Experience Measurements. In Proc. of CoNEXT. ACM, 399--412.
[61]
Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2013. Demystifying Page Load Performance with WProf. In Proc. of NSDI. USENIX, 473--485.
[62]
Xiao Sophia Wang, Arvind Krishnamurthy, and David Wetherall. 2016. Speeding up Web Page Loads with Shandian. In Proc. of NSDI. USENIX, 109--122.
[63]
Jihwan Yeo, Changhyun Shin, and Soo-Mook Moon. 2019. Snapshot-Based Loading Acceleration of Web Apps with Nondeterministic JavaScript Execution. In Proc. of WWW. ACM, 2215--2224.
[64]
Pengxiong Zhu, Keyu Man, Zhongjie Wang, Zhiyun Qian, Roya Ensafi, J. Alex Halderman, and Haixin Duan. 2020. Characterizing Transnational Internet Performance and the Great Bottleneck of China. In Proc. of SIGMETRICS. ACM, 69--70.

Cited By

View all
  • (2024)Interactive Abstract Interpretation with Demanded SummarizationACM Transactions on Programming Languages and Systems10.1145/364844146:1(1-40)Online publication date: 29-Mar-2024
  • (2024)PmTrackProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/36314337:4(1-30)Online publication date: 12-Jan-2024
  • (2024)Accelerating page loads via streamlining JavaScript engine for distributed learningInformation Sciences10.1016/j.ins.2024.120713675(120713)Online publication date: Jul-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Measurement and Analysis of Computing Systems
Proceedings of the ACM on Measurement and Analysis of Computing Systems  Volume 6, Issue 1
POMACS
March 2022
695 pages
EISSN:2476-1249
DOI:10.1145/3522731
Issue’s Table of Contents
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 28 February 2022
Published in POMACS Volume 6, Issue 1

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. scheduling
  2. speed index
  3. web page loading
  4. web performance

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Interactive Abstract Interpretation with Demanded SummarizationACM Transactions on Programming Languages and Systems10.1145/364844146:1(1-40)Online publication date: 29-Mar-2024
  • (2024)PmTrackProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/36314337:4(1-30)Online publication date: 12-Jan-2024
  • (2024)Accelerating page loads via streamlining JavaScript engine for distributed learningInformation Sciences10.1016/j.ins.2024.120713675(120713)Online publication date: Jul-2024
  • (2024)A picture fuzzy CIMAS-ARTASI model for website performance analysis in human resource managementApplied Soft Computing10.1016/j.asoc.2024.111826162:COnline publication date: 1-Sep-2024
  • (2023)Enriching Social Sharing for the Dementia Community: Insights from In-Person and Online Social ProgramsACM Transactions on Accessible Computing10.1145/358255816:1(1-33)Online publication date: 29-Mar-2023
  • (2023)SoundSieve: Seconds-Long Audio Event Recognition on Intermittently-Powered SystemsProceedings of the 21st Annual International Conference on Mobile Systems, Applications and Services10.1145/3581791.3596859(28-41)Online publication date: 18-Jun-2023
  • (2023)MidasProceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies10.1145/35808727:1(1-26)Online publication date: 28-Mar-2023
  • (2023)SignQuery: A Natural User Interface and Search Engine for Sign Languages with Wearable SensorsProceedings of the 29th Annual International Conference on Mobile Computing and Networking10.1145/3570361.3613286(1-16)Online publication date: 2-Oct-2023
  • (2023)Application-Oriented Privacy Filter for mmWave RadarIEEE Communications Magazine10.1109/MCOM.011.220058061:12(168-174)Online publication date: 2-Oct-2023
  • (2023)SunScreen: Visual Fault Detection for Solar-Thermal SystemsIEEE Computer Graphics and Applications10.1109/MCG.2023.330896243:6(87-100)Online publication date: 28-Aug-2023
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media