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.
Original language | English (US) |
---|---|
Article number | 23 |
Journal | Proceedings of the ACM on Measurement and Analysis of Computing Systems |
Volume | 6 |
Issue number | 1 |
DOIs | |
State | Published - Mar 2022 |
Bibliographical note
Funding Information:We thank our shepherd, Gareth Tyson, and the anonymous reviewers for their valuable comments and suggestions. Also, we thank Jian Yang for his careful and comprehensive measurement study in the early stage of this research. This work is supported in part by the National Natural Science Foundation of China (NSFC) under grants 61822205, 61902211, 61632020, and 61632013.
Publisher Copyright:
© 2022 ACM.
Keywords
- Scheduling
- Speed index
- Web page loading
- Web performance