ABSTRACT
HTTP/2 supersedes HTTP/1.1 to tackle the performance challenges of the modern Web. A highly anticipated feature is Server Push, enabling servers to send data without explicit client requests, thus potentially saving time. Although guidelines on how to use Server Push emerged, measurements have shown that it can easily be used in a suboptimal way and hurt instead of improving performance. We thus tackle the question if the current Web can make better use of Server Push. First, we enable real-world websites to be replayed in a testbed to study the effects of different Server Push strategies. Using this, we next revisit proposed guidelines to grasp their performance impact. Finally, based on our results, we propose a novel strategy using an alternative server scheduler that enables to interleave resources. This improves the visual progress for some websites, with minor modifications to the deployment. Still, our results highlight the limits of Server Push: a deep understanding of web engineering is required to make optimal use of it, and not every site will benefit.
Supplemental Material
- browsertime. https://github.com/sitespeedio/browsertime. Online 06/18/2017.Google Scholar
- h2o. https://h2o.examp1e.net. Online 06/18/2017.Google Scholar
- mitmproxy. https://mitmproxy.org/. Online 06/18/2017.Google Scholar
- penthouse. https://github.com/pocketjoso/penthouse. Online 06/18/2017.Google Scholar
- SpeedIndex. https://sites.google.com/a/webpagetest.org/docs/using-webpagetest/metrics/speed-index. Online 06/18/2017.Google Scholar
- Bernhard Ager, Nikolaos Chatzis, Anja Feldmann, Nadi Sarrar, Steve Uhlig, and Walter Willinger. 2012. Anatomy of a Large European IXP. In Proceedings of the ACM SIGCOMM 2012 Conference on Applications, Technologies, Architectures, and Protocols for Computer Communication (SIGCOMM '12). ACM, New York, NY, USA, 163--174. Google ScholarDigital Library
- Jake Archibald. HTTP/2 push is tougher than I thought. https://jakearchibald.com/2017/h2-push-tougher-than-i-thought/. Online 06/18/2017.Google Scholar
- M. Belshe, R. Peon, and M. Thomson. 2015. Hypertext Transfer Protocol Version 2 (HTTP/2). RFC 7540. RFC Editor. http://www.rfc-editor.org/rfc/rfc7540.txtGoogle Scholar
- Benedikt Wolters and Torsten Zimmermann. 2018. Testbed Source and Measurement Results. https://github.com/COMSYS/http2-conext-push.Google Scholar
- Tom Bergan, Simon Pelchat, and Michael Buettner. Rules of Thumb for HTTP/2 Push. https://docs.google.com/document/d/1K0NykTXBbbbTlv60t5MyJvXjqKGsCVNYHyLEXIxYMv0. Online 06/18/2017.Google Scholar
- Enrico Bocchi, Luca De Cicco, Marco Mellia, and Dario Rossi. 2017. The Web, the Users, and the MOS: Influence of HTTP/2 on User Experience. Springer International Publishing, Cham, 47--59.Google Scholar
- P. Borgnat, G. Dewaele, K. Fukuda, P. Abry, and K. Cho. 2009. Seven Years and One Day: Sketching the Evolution of Internet Traffic. In IEEE INFOCOM 2009. 711--719.Google Scholar
- Michael Butkiewicz, Harsha V. Madhyastha, and Vyas Sekar. 2011. Understanding Website Complexity: Measurements, Metrics, and Implications. In Proceedings of the 2011 ACM SIGCOMM Conference on Internet Measurement Conference (IMC'11). ACM, New York, NY, USA, 313--328. Google ScholarDigital Library
- 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 12th USENIX Symposium on Networked Systems Design and Implementation (NSDI 15). USENIX Association, Oakland, CA, 439--453. Google ScholarDigital Library
- H. de Saxcé, I. Oprescu, and Y.Chen. 2015. Is HTTP/2 really faster than HTTP/1.1?. In 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS). 293--299.Google ScholarCross Ref
- Utkarsh Goel, Moritz Steiner, Mike P. Wittie, Martin Flack, and Stephen Ludin. 2017. Measuring What is Not Ours: A Tale of 3rd Party Performance. In Passive and Active Measurement, Mohamed Ali Kaafar, Steve Uhlig, and Johanna Amann (Eds.). Springer International Publishing, Cham, 142--155.Google Scholar
- Ilya Grigorik. 2013. High Performance Browser Networking. O'Reilly.Google Scholar
- Ilya Grigorik and Y. Weiss. Preload. https://www.w3.org/TR/preload/. Online 06/18/2017.Google Scholar
- Remy Guercio. Test New Features and Iterate Quickly with Cloudflare Workers. https://blog.cloudflare.com/iterate-quickly-with-cloudflare-workers/. Online 10/03/2018.Google Scholar
- Bo Han, Shuai Hao, and Feng Qian. 2015. MetaPush: Cellular-Friendly Server Push For HTTP/2. In Proceedings of the 5th Workshop on All Things Cellular: Operations, Applications and Challenges (AllThingsCellular '15). ACM, New York, NY, USA, 57--62. Google ScholarDigital Library
- Chris Jackel. A/B testing at the edge. https://www.fastly.com/blog/ab-testing-edge. Online 10/03/2018.Google Scholar
- Conor Kelton, Jihoon Ryoo, Aruna Balasubramanian, and Samir R. Das. 2017. Improving User Perceived Page Load Times Using Gaze. In 14th USENIX Symposium on Networked Systems Design and Implementation (NSDI 17). USENIX Association, Boston, MA, 545--559. Google ScholarDigital Library
- Brad Lassey. Chrome's view on Push. https://github.com/httpwg/wg-materials/blob/gh-pages/ietf102/chrome_push.pdf. Online 10/02/2018.Google Scholar
- Gregor Maier, Anja Feldmann, Vern Paxson, and Mark Allman. 2009. On Dominant Characteristics of Residential Broadband Internet Traffic. In Proceedings of the 9th ACM SIGCOMM Conference on Internet Measurement (IMC '09). ACM, New York, NY, USA, 90--102. Google ScholarDigital Library
- Patrick Meenan. 2013. How Fast is Your Website? Commun. ACM 56, 4 (April 2013), 49--55. Google ScholarDigital Library
- Aman Nanner. H2 Server Push Performance. https://github.com/httpwg/wg-materials/blob/gh-pages/ietf102/akamai-server-push.pdf. Online 10/02/2018.Google Scholar
- Ravi Netravali, Anirudh Sivaraman, Somak Das, Ameesh Goyal, Keith Winstein, James Mickens, and Hari Balakrishnan. 2015. Mahimahi: Accurate Record-and-Replay for HTTP. In 2015 USENIX Annual Technical Conference (USENIX ATC 15). USENIX Association, Santa Clara, CA, 417--429. Google ScholarDigital Library
- Mark Nottingham. httpwg: Issue #579. https://github.com/httpwg/http-extensions/issues/579. Online 06/18/2017.Google Scholar
- Kazuho Oku and Mark Nottingham. 2017. Cache Digests for HTTP/2. Internet-Draft draft-ietf-httpbis-cache-digest-02. IETF Secretariat. http://www.ietf.org/internet-drafts/draft-ietf-httpbis-cache-digest-02.txtGoogle Scholar
- R. Peon and H. Ruellan. 2015. HPACK: Header Compression for HTTP/2. RFC 7541. RFC Editor. http://www.rfc-editor.org/rfc/rfc7541.txtGoogle ScholarCross Ref
- Sanae Rosen, Bo Han, Shuai Hao, Z. Morley Mao, and Feng Qian. 2017. Push or Request: An Investigation of HTTP/2 Server Push for Improving Mobile Performance. In Proceedings of the 26th International Conference on World Wide Web (WWW '17). International World Wide Web Conferences Steering Committee, Republic and Canton of Geneva, Switzerland, 459--468. Google ScholarDigital Library
- Vaspol Ruamviboonsuk, Ravi Netravali, Muhammed Uluyol, and Harsha V. Madhyastha. 2017. Vroom: Accelerating the Mobile Web with Server-Aided Dependency Resolution. In Proceedings of the Conference of the ACM Special Interest Group on Data Communication (SIGCOMM '17). ACM, New York, NY, USA, 390--403. Google ScholarDigital Library
- Jan Rüth, Ingmar Poese, Christoph Dietzel, and Oliver Hohlfeld. 2018. A First Look at QUIC in the Wild. In Passive and Active Measurement, Robert Beverly, Georgios Smaragdakis, and Anja Feldmann (Eds.). Springer International Publishing, Cham, 255--268.Google Scholar
- Quirin Scheitle, Oliver Hohlfeld, Julien Gamba, Jonas Jelten, Torsten Zimmermann, Stephen D. Strowes, and Narseo Vallina-Rodriguez. 2018. A Long Way to the Top: Significance, Structure, and Stability of Internet Top Lists. In Proceedings of the 2018 Internet Measurement Conference (IMC '18). ACM, New York, NY, USA. Google ScholarDigital Library
- Matteo Varvello, Kyle Schomp, David Naylor, Jeremy Blackburn, Alessandro Finamore, and Konstantina Papagiannaki. 2016. Is the Web HTTP/2 Yet?. In International Conference on Passive and Active Network Measurement. Springer, 218--232.Google ScholarCross Ref
- Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2013. Demystifying Page Load Performance with WProf. In Presented as part of the 10th USENIX Symposium on Networked Systems Design and Implementation (NSDI 13). USENIX, Lombard, IL, 473--485. Google ScholarDigital Library
- Xiao Sophia Wang, Aruna Balasubramanian, Arvind Krishnamurthy, and David Wetherall. 2014. How Speedy is SPDY?. In Proceedings of the 11th USENIX Conference on Networked Systems Design and Implementation (NSDI'14). USENIX Association, Berkeley, CA, USA, 387--399. Google ScholarDigital Library
- Kyriakos Zarifis, Mark Holland, Manish Jain, Ethan Katz-Bassett, and Ramesh Govindan. 2017. Making Effective Use of HTTP/2 Server Push in Content Delivery Networks. Technical Report. University of Southern California.Google Scholar
- Torsten Zimmermann, Jan Rüth, Benedikt Wolters, and Oliver Hohlfeld. 2017. How HTTP/2 Pushes the Web: An Empirical Study of HTTP/2 Server Push. In 2017 IFIP Networking Conference (IFIP Networking) and Workshops.Google ScholarCross Ref
- Torsten Zimmermann, Benedikt Wolters, and Oliver Hohlfeld. 2017. A QoE Perspective on HTTP/2 Server Push. In Proceedings of the Workshop on QoE-based Analysis and Management of Data Communication Networks (Internet QoE '17). ACM, New York, NY, USA, 1--6. Google ScholarDigital Library
Index Terms
- Is the web ready for HTTP/2 server push?
Recommendations
Push or Request: An Investigation of HTTP/2 Server Push for Improving Mobile Performance
WWW '17: Proceedings of the 26th International Conference on World Wide WebIn HTTP/1.1, it is necessary for the client to request an object (e.g. an image in a page) in order for the server to send it, even if the server knows in advance what the client will need. Server Push is a feature introduced in HTTP/2 that promises to ...
Should I Wait or Should I Push? A Performance Analysis of Push Feature in HTTP/2 Connections
LANCOMM '16: Proceedings of the 2016 workshop on Fostering Latin-American Research in Data Communication NetworksSince its standardization, the HTTP has been widely used for transmission of hypertext and hypermedia files, such as audio and video in an interactive way. Recently, the protocol was updated and received several modifications, such as server push, ...
Comments