Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

HTTP/2 and SAP Fiori

1,928 views

Published on

Basic introduction to HTTP/2, and how it can help to speed up SAP Fiori applications. Presented at the 2017 SAP Inside Track Silicon Valley #sitSV, and at SAP TechEd in Las Vegas as session NET52433.

Published in: Technology
  • Login to see the comments

HTTP/2 and SAP Fiori

  1. 1. HTTP/2 and Fiori Sascha Wenninger @sufw NET52433 @ TechEd 2017
  2. 2. @sufw What? Next version of HTTP Protocol Based on Google’s SPDY Designed to ‘fix’ many annoying aspects of HTTP
  3. 3. @sufw Why? • Binary • Multiplexing • Header Compression • Encryption Image credit: Nick Yang
  4. 4. @sufw Multiplexing - Benefits With HTTP/1.1, browsers open 4-8 TCP connections per origin For each connection: • TCP Handshake (2 Round-Trips) • TLS Handshake (2+ Round Trips) • TCP Slow Start HTTP/2 Multiplexing avoids this! 1 TCP Connection for everything Application  HTTP Presentation  TLS Session Transport  TCP Network  IP Data Link Physical
  5. 5. @sufw Can I use it? – Browser • IE 6 = WTF? • IE 7 = LOL • IE 8 = No • IE 11 = Kind of • Anything* else = Yes! *yes even Edge!
  6. 6. @sufw Can I use it? – Server • SAP WebDispatcher/ICM kernel >= 7.49 • Proper SSL setup
  7. 7. @sufw Set it up! 1. icm/HTTP/support_http2=true 2. Restart ICM See Nick Yang’s blog post SAP Web Dispatcher ABAP System Java System ICM HANA DB ICM HANA DB HTTP/2 HTTP/1.1
  8. 8. @sufw Set it up! 1. icm/HTTP/support_http2=true 2. Restart ICM Bonus points for Web Dispatcher: wdisp/support_http2_to_backend=true See Nick Yang’s blog post SAP Web Dispatcher ABAP System Java System ICM HANA DB ICM HANA DB HTTP/2 HTTP/2
  9. 9. @sufw Isn’t TLS Slow?
  10. 10. @sufw Isn’t TLS Slow? No.
  11. 11. @sufw Isn’t TLS Slow? No. Not even on an SAP ICM, on ~2011 era hardware! 3% Throughput Response Time (ms) Requests/s* Median 99th percentile HTTP 93 20 33 HTTPS 93 36 40 4% *Designed for 100/s, so my PC wasn’t fast enough. New TLS Handshake for each connection 7%
  12. 12. @sufw Let’s Test! My role-based Fiori Launchpad UI5 1.44 ~180ms to server 30Mbps WAN link Chrome Empty cache n=10 Time to Load event
  13. 13. @sufw TCP Connections See chrome://net-internals/#sockets Requests TCP Handshakes TLS Handshakes HTTP/1.1 68 7 7 HTTP/2 68 1 1
  14. 14. @sufw Profit! 0 1 2 3 4 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Frequency Load Time Fiori Launchpad: Time to 'Load' event That’s the median, obviously -20% 18s 14s
  15. 15. @sufw
  16. 16. @sufw Fiori CDN • Often A Good Idea, but depends on network topology • Where are your users? Is Akamai really “closer”? • Do you have Riverbed WAN Acceleration? • Is your internet link congested? • Is your proxy slow? • Individual results may vary • Does not currently support HTTP/2, even though Akamai does 
  17. 17. @sufw
  18. 18. @sufw
  19. 19. @sufw Profit! 0 1 2 3 4 5 0 2 4 6 8 10 12 14 16 18 20 22 24 Frequency Load Time Fiori Launchpad: Time to 'Load' event -20% 18s 14s -20% 11s
  20. 20. @sufw
  21. 21. @sufw Further Reading • The HTTP/2 “Home Page” • The HTTP/2 RFC • SAP Help on HTTP/2 • Nick Yang’s blog post about HTTP/2 • Set up Fiori CDN • Improving Fiori Performance • Is TLS Fast Yet? • My blog post on TLS performance • Browser support for HTTP/2
  22. 22. @sufw Thank you! Sascha Wenninger sascha@BlueT.com.sg @sufw +65 8799 1446 https://www.slideshare.net/sufw/http2-and-sap-fiori

×