Concatenation, Embedding and Sharding: Do HTTP/1 Performance Best Practices Make Sense in HTTP/2?

Robin Marx, Peter Quax, Axel Faes, Wim Lamotte

2017

Abstract

Web page performance is becoming increasingly important for end users but also more difficult to provide by web developers, in part because of the limitations of the legacy HTTP/1 protocol. The new HTTP/2 protocol was designed with performance in mind, but existing work comparing its improvements to HTTP/1 often shows contradictory results. It is unclear for developers how to profit from HTTP/2 and whether current HTTP/1 best practices such as resource concatenation, resource embedding, and hostname sharding should still be used. In this work we introduce the Speeder framework, which uses established tools and software to easily and reproducibly test various setup permutations. We compare and discuss results over many parameters (e.g., network conditions, browsers, metrics), both from synthetic and realistic test cases. We find that in most non-extreme cases HTTP/2 is on a par with HTTP/1 and that most HTTP/1 best practices are applicable to HTTP/2. We show that situations in which HTTP/2 currently underperforms are mainly caused by inefficiencies in implementations, not due to shortcomings in the protocol itself.

References

  1. Belshe, M., Peon, R., and Thomson, M. (2015). Hypertext transfer protocol version 2. https://tools.ietf.org/ html/rfc7540. Last visited: 2017-03-01.
  2. Bergan, T., Pelchat, S., and Buettner, M. (2016). Rules of thumb for http/2 push. https://docs. google.com/document/d/1K0NykTXBbbbTlv60t5My JvXjqKGsCVNYHyLEXIx-YMv0. Last visited: 2017-03-01.
  3. Carlucci, G., De Cicco, L., and Mascolo, S. (2015). Http over udp: an experimental investigation of quic. In Proceedings of the 30th Annual ACM Symposium on Applied Computing, pages 609-614. ACM.
  4. Corbel, R., Stephan, E., and Omnes, N. (2016). Http/1.1 pipelining vs http2 in-the-clear: Performance comparison. In 2016 13th International Conference on New Technologies for Distributed Systems (NOTERE), pages 1-6.
  5. de Oliveira, I. N., Endo, P. T., Melo, W., Sadok, D., and Kelner, J. (2016). Should i wait or should i push? a performance analysis of push feature in http/2 connections. In Proceedings of the 2016 workshop on Fostering Latin-American Research in Data Communication Networks, pages 7-9. ACM.
  6. de Saxcé, H., Oprescu, I., and Chen, Y. (2015). Is http/2 really faster than http/1.1? In Computer Communications Workshops (INFOCOM WKSHPS), 2015 IEEE Conference on, pages 293-299. IEEE.
  7. Erman, J., Gopalakrishnan, V., Jana, R., and Ramakrishnan, K. K. (2013). Towards a spdy'ier mobile web? In Proceedings of the Ninth ACM Conference on Emerging Networking Experiments and Technologies, CoNEXT 7813, pages 303-314, New York, NY, USA. ACM.
  8. Goel, U., Steiner, M., Wittie, M. P., Flack, M., and Ludin, S. (2016). Http/2 performance in cellular networks: Poster. In Proceedings of the 22Nd Annual International Conference on Mobile Computing and Networking, MobiCom 7816, pages 433-434, New York, NY, USA. ACM.
  9. Gooding, M. and Garza, J. (2016). Real world experiences with http/2. https://www.slideshare.net/ JavierGarza18/real-world-experiences-with-http2- michaelgooding-javier-garza-from-akamai. Last visited: 2017-03-01.
  10. Grigorik, I. (2013). High Performance Browser Networking. O'Reilly Media, Inc.
  11. Liu, Y., Ma, Y., Liu, X., and Huang, G. (2016). Can http/2 really help web performance on smartphones? In Services Computing (SCC), 2016 IEEE International Conference on, pages 219-226. IEEE.
  12. Marx, R. (2016). Http/2 push : the details. http:// calendar.perfplanet.com/2016/http2-push-the-details/. Last visited: 2017-03-01.
  13. Meenan, P. (2012). Speed index. https://sites.google.com/ a/webpagetest.org/docs/using-webpagetest/metrics/ speed-index. Last visited: 2017-03-01.
  14. Meenan, P. (2016). Webpagetest. https://webpagetest.org. Last visited: 2017-03-01.
  15. Netravali, R., Goyal, A., Mickens, J., and Balakrishnan, H. (2016). Polaris: faster page loads using fine-grained dependency tracking. In 13th USENIX Symposium on Networked Systems Design and Implementation (NSDI 16).
  16. Varvello, M., Schomp, K., Naylor, D., Blackburn, J., Finamore, A., and Papagiannaki, K. (2016). Is the web http/2 yet? In International Conference on Passive and Active Network Measurement, pages 218-232. Springer.
  17. Wang, X. S., Balasubramanian, A., Krishnamurthy, A., and Wetherall, D. (2014). How speedy is spdy? In NSDI, pages 387-399.
  18. Wang, Z. (2012). Navigation timing api. https:// www.w3.org/TR/navigation-timing. Last visited: 2017-03-01.
Download


Paper Citation


in Harvard Style

Marx R., Quax P., Faes A. and Lamotte W. (2017). Concatenation, Embedding and Sharding: Do HTTP/1 Performance Best Practices Make Sense in HTTP/2? . In Proceedings of the 13th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-246-2, pages 160-173. DOI: 10.5220/0006364101600173


in Bibtex Style

@conference{webist17,
author={Robin Marx and Peter Quax and Axel Faes and Wim Lamotte},
title={Concatenation, Embedding and Sharding: Do HTTP/1 Performance Best Practices Make Sense in HTTP/2?},
booktitle={Proceedings of the 13th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2017},
pages={160-173},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0006364101600173},
isbn={978-989-758-246-2},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 13th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - Concatenation, Embedding and Sharding: Do HTTP/1 Performance Best Practices Make Sense in HTTP/2?
SN - 978-989-758-246-2
AU - Marx R.
AU - Quax P.
AU - Faes A.
AU - Lamotte W.
PY - 2017
SP - 160
EP - 173
DO - 10.5220/0006364101600173