a look at the performance of sap's modern uis

52
Sascha Wenninger A Look at the Performance of SAP’s Modern UI Technologies

Upload: sascha-wenninger

Post on 18-Nov-2014

533 views

Category:

Technology


2 download

DESCRIPTION

Making the case for the consideration of network topologies on the performance of UI technologies, and presenting some sample measurements across traditional SAP GUI, WebDynpro for ABAP, and the UI5-based Fiori apps.

TRANSCRIPT

Page 1: A Look at the Performance of SAP's Modern UIs

Sascha  Wenninger  

A  Look  at  the  Performance  of  SAP’s    Modern  UI  Technologies  

Page 2: A Look at the Performance of SAP's Modern UIs

programming.oreilly.com/2009/07/velocity-­‐making-­‐your-­‐site-­‐fast.html  

Page 3: A Look at the Performance of SAP's Modern UIs

programming.oreilly.com/2009/07/velocity-­‐making-­‐your-­‐site-­‐fast.html  

Page 4: A Look at the Performance of SAP's Modern UIs

h<ps://secure.flickr.com/photos/47598386@N00/1659336160  

 But  we’re  not  Google!  

Page 5: A Look at the Performance of SAP's Modern UIs

h<ps://secure.flickr.com/photos/eelssej_/394781835/  

Page 6: A Look at the Performance of SAP's Modern UIs
Page 7: A Look at the Performance of SAP's Modern UIs

What  Now?  

• Understand  your  Environment  • Assess  your  Technologies  

Page 8: A Look at the Performance of SAP's Modern UIs

Your  Environment  

• Who?  • Where?  • How  many?  • How  criRcal  is  performance?  

Page 9: A Look at the Performance of SAP's Modern UIs

MMG    

Page 10: A Look at the Performance of SAP's Modern UIs

Client  Time  

Network  Time  

Server  Time  

Perceived  Response  Time  

Page 11: A Look at the Performance of SAP's Modern UIs

Client  Time  

Network  Time  

Server  Time  

Perceived  Response  Time  

Page 12: A Look at the Performance of SAP's Modern UIs
Page 13: A Look at the Performance of SAP's Modern UIs
Page 14: A Look at the Performance of SAP's Modern UIs

www.submarinecablemap.com  

Page 15: A Look at the Performance of SAP's Modern UIs

www.telegeography.com  

Page 16: A Look at the Performance of SAP's Modern UIs

www.telegeography.com  

Page 17: A Look at the Performance of SAP's Modern UIs

To  USA  www.telegeography.com  

Page 18: A Look at the Performance of SAP's Modern UIs

Bandwidth  !==  Latency  

• More  bandwidth  is  easy.  •  Speeding  up  light  is  not.  

1ms ≈ 100km* in fibre

*Round-­‐Trip  distance  

Page 19: A Look at the Performance of SAP's Modern UIs

h<p://www.igvita.com/2012/07/19/latency-­‐the-­‐new-­‐web-­‐performance-­‐bo<leneck/  

Page 20: A Look at the Performance of SAP's Modern UIs

www.wondernetwork.com/pings  

Page 21: A Look at the Performance of SAP's Modern UIs

wheresiYast.com  

Page 22: A Look at the Performance of SAP's Modern UIs

Performance  CriIcality  

Arguable  …but…  Non-­‐core  ma<ers  too!   Context  

Generic  

Core  

Page 23: A Look at the Performance of SAP's Modern UIs

Measure  Early,  Measure  OLen  

(and  not  just  the  server!)  

Page 24: A Look at the Performance of SAP's Modern UIs
Page 25: A Look at the Performance of SAP's Modern UIs

FREE!  

FREE!  

FREE!  

FREE!  

FREE!  

$50   FREE!  

Page 26: A Look at the Performance of SAP's Modern UIs

h<ps://secure.flickr.com/photos/pasukaru76/4016842259/  

Conduct  Performance  Assessments  

Page 27: A Look at the Performance of SAP's Modern UIs

Off-­‐The  Shelf  

• Helps  to  set  expectaRons  •  “Eyes  wide  open”  • Buy  Rme  – configure  WAN  accelerators  properly  – deploy  caching  proxies  in  remote  locaRons  – consider  internet  access  strategies  

Page 28: A Look at the Performance of SAP's Modern UIs

Custom  Development  

• Conscious  decisions  and  trade-­‐offs  •  Iterate  and  improve  • Rough  &  ready,  informal  is  fine  – As  long  as  you  start  early  – And  improve  as  you  go  

Page 29: A Look at the Performance of SAP's Modern UIs

Rule  1  -­‐  Make  Fewer  HTTP  Requests    Rule  2  -­‐  Use  a  Content  Delivery  Network    Rule  3  -­‐  Add  an  Expires  Header    Rule  4  -­‐  Gzip  Components    Rule  5  -­‐  Put  Stylesheets  at  the  Top    Rule  6  -­‐  Put  Scripts  at  the  Bo<om    Rule  7  -­‐  Avoid  CSS  Expressions    Rule  8  -­‐  Make  JavaScript  and  CSS  External    Rule  9  -­‐  Reduce  DNS  Lookups    Rule  10  -­‐  Minify  JavaScript    Rule  11  -­‐  Avoid  Redirects    Rule  12  -­‐  Remove  Duplicate  Scripts    Rule  13  -­‐  Configure  ETags    Rule  14  -­‐  Make  AJAX  Cacheable      

Page 30: A Look at the Performance of SAP's Modern UIs

Rule  1  -­‐  Make  Fewer  HTTP  Requests    Rule  2  -­‐  Use  a  Content  Delivery  Network    Rule  3  -­‐  Add  an  Expires  Header    Rule  4  -­‐  Gzip  Components    Rule  5  -­‐  Put  Stylesheets  at  the  Top    Rule  6  -­‐  Put  Scripts  at  the  Bo<om    Rule  7  -­‐  Avoid  CSS  Expressions    Rule  8  -­‐  Make  JavaScript  and  CSS  External    Rule  9  -­‐  Reduce  DNS  Lookups    Rule  10  -­‐  Minify  JavaScript    Rule  11  -­‐  Avoid  Redirects    Rule  12  -­‐  Remove  Duplicate  Scripts    Rule  13  -­‐  Configure  ETags    Rule  14  -­‐  Make  AJAX  Cacheable      

Make  Fewer  Requests  

Page 31: A Look at the Performance of SAP's Modern UIs

Rule  1  -­‐  Make  Fewer  HTTP  Requests    Rule  2  -­‐  Use  a  Content  Delivery  Network    Rule  3  -­‐  Add  an  Expires  Header    Rule  4  -­‐  Gzip  Components    Rule  5  -­‐  Put  Stylesheets  at  the  Top    Rule  6  -­‐  Put  Scripts  at  the  Bo<om    Rule  7  -­‐  Avoid  CSS  Expressions    Rule  8  -­‐  Make  JavaScript  and  CSS  External    Rule  9  -­‐  Reduce  DNS  Lookups    Rule  10  -­‐  Minify  JavaScript    Rule  11  -­‐  Avoid  Redirects    Rule  12  -­‐  Remove  Duplicate  Scripts    Rule  13  -­‐  Configure  ETags    Rule  14  -­‐  Make  AJAX  Cacheable      

Make  Fewer  Requests  Speed  up  Round-­‐Trips  

Page 32: A Look at the Performance of SAP's Modern UIs

Rule  1  -­‐  Make  Fewer  HTTP  Requests    Rule  2  -­‐  Use  a  Content  Delivery  Network    Rule  3  -­‐  Add  an  Expires  Header    Rule  4  -­‐  Gzip  Components    Rule  5  -­‐  Put  Stylesheets  at  the  Top    Rule  6  -­‐  Put  Scripts  at  the  Bo<om    Rule  7  -­‐  Avoid  CSS  Expressions    Rule  8  -­‐  Make  JavaScript  and  CSS  External    Rule  9  -­‐  Reduce  DNS  Lookups    Rule  10  -­‐  Minify  JavaScript    Rule  11  -­‐  Avoid  Redirects    Rule  12  -­‐  Remove  Duplicate  Scripts    Rule  13  -­‐  Configure  ETags    Rule  14  -­‐  Make  AJAX  Cacheable      

Make  Fewer  Requests  Speed  up  Round-­‐Trips  Reduce  Payloads  

Page 33: A Look at the Performance of SAP's Modern UIs

Rule  1  -­‐  Make  Fewer  HTTP  Requests    Rule  2  -­‐  Use  a  Content  Delivery  Network    Rule  3  -­‐  Add  an  Expires  Header    Rule  4  -­‐  Gzip  Components    Rule  5  -­‐  Put  Stylesheets  at  the  Top    Rule  6  -­‐  Put  Scripts  at  the  Bo<om    Rule  7  -­‐  Avoid  CSS  Expressions    Rule  8  -­‐  Make  JavaScript  and  CSS  External    Rule  9  -­‐  Reduce  DNS  Lookups    Rule  10  -­‐  Minify  JavaScript    Rule  11  -­‐  Avoid  Redirects    Rule  12  -­‐  Remove  Duplicate  Scripts    Rule  13  -­‐  Configure  ETags    Rule  14  -­‐  Make  AJAX  Cacheable      

Make  Fewer  Requests  Speed  up  Round-­‐Trips  Reduce  Payloads  Browser  Efficiencies  

Page 34: A Look at the Performance of SAP's Modern UIs

Make  Fewer  Requests  

Speed  up  Round-­‐Trips  

Reduce  Payloads  

Browser  Efficiencies  

Page 35: A Look at the Performance of SAP's Modern UIs
Page 36: A Look at the Performance of SAP's Modern UIs

0%  Cacheable  

3  Round  Trips  

Download:  15  kB    

Opening  PA20  

Page 37: A Look at the Performance of SAP's Modern UIs

+ Few round-trips + Small payloads + Efficient

- Single threaded à Not good for latency

- Proprietary

à no caching - Uncool

Page 38: A Look at the Performance of SAP's Modern UIs

Web  Dynpro  ABAP  

Page 39: A Look at the Performance of SAP's Modern UIs

95%  Cacheable  

74  Round  Trips  

Download:  1,300  kB    

Web  Dynpro  Leave  Request  

Page 40: A Look at the Performance of SAP's Modern UIs

h<p://www.flickr.com/photos/mr_t_in_dc/5920636730  

Fiori  (Wave  1)  

Page 41: A Look at the Performance of SAP's Modern UIs

Download:  2,770  kB    

Fiori  Leave  Request  

56  Round  Trips  

84%  Cacheable  

Page 42: A Look at the Performance of SAP's Modern UIs

Payload  (kB)  

0  

500  

1000  

1500  

2000  

2500  

3000  

Fiori   Web  Dynpro  0  

10  20  30  40  50  60  70  80  

Fiori   Web  Dynpro  

Chaoness  

IniRal  

Cached  

Page 43: A Look at the Performance of SAP's Modern UIs

Google’s  mod_pagespeed  

Automagic  server-­‐side  web  page  opRmisaRon    • Recompresses  images  • Combines  CSS  &  JavaScript  files  • Applies  minificaRon  • etc.  etc.  

Page 44: A Look at the Performance of SAP's Modern UIs

37%  Fewer  Requests  

Google  PageSpeed  Score:  88  !  98  

YSlow  Score:  83  !  93  

It  works:  

Page 45: A Look at the Performance of SAP's Modern UIs

•  Fiori  is  JavaScript-­‐driven:  – Very  minimal  HTML  –  JS  loads  more  JS,  other  resources  to  build  page  

• PageSpeed  can  only  opRmise  HTML  &  references  • <10%  reducRon  in  load  Rme,  resources  

Mastering SAP Technologies 2014 | 45

…but  not  with  Fiori…  

Page 46: A Look at the Performance of SAP's Modern UIs

OpportuniIes  

• Proxy  Caches/private  CDN  • WAN  Accelerators    

Fiori  and  Web  Dynpro  use  lots  of  public-­‐cacheable  content!  

Page 47: A Look at the Performance of SAP's Modern UIs

Just  Browser  Caching  isn’t  enough!  

Mastering SAP Technologies 2014 | 47

Yahoo  @  2007:    

40-­‐60%  of  users  visit  www.yahoo.com  with  empty  cache!    

20%  of  all  page  views  done  with  empty  cache!  

h<p://www.yuiblog.com/blog/2007/01/04/performance-­‐research-­‐part-­‐2/  

Page 48: A Look at the Performance of SAP's Modern UIs

OpportuniIes  

• Wave  2+    • Cordova/Phonegap  container  apps  • Custom  build  for  performance-­‐criRcal  scenarios.  

Greatly  improved  architecture  Performance  is  high  on  the  agenda  

Page 49: A Look at the Performance of SAP's Modern UIs

Make  Fewer  Requests  

Speed  up  Round-­‐Trips  

Reduce  Payloads  

Browser  Efficiencies  

Page 50: A Look at the Performance of SAP's Modern UIs
Page 51: A Look at the Performance of SAP's Modern UIs

Want  to  Read  More?  

•  How  Fast  Are  We  Going  Now?  •  Cache  them  if  you  can!  •  Browser  Cache  Usage  Exposed!  •  How  to  Read  HTTP  Waterfall  Charts  •  Velocity  Conference  Talks:  2012  (US),  2012  (Europe),  2013  •  Some  talks  from  the  Chrome  Dev  Summit  •  People  on  twi<er:  @igrigorik,  @souders,  @bluesmoon,  @dakami,  @guypod,  @mnot,  @stoyanstefanov,  @agl__  (and  their  blogs!)  

•  Blogs:  h<ps://insouciant.org,  h<p://highscalability.com  

Page 52: A Look at the Performance of SAP's Modern UIs

[email protected]  

+61  403  933  472  

BlueT.com.au  

@sufw  

Mastering SAP Technologies 2014 | 52

Sascha  Wenninger