SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Sascha	
  Wenninger	
  
A	
  Look	
  at	
  the	
  Performance	
  of	
  SAP’s	
  	
  
Modern	
  UI	
  Technologies	
  
programming.oreilly.com/2009/07/velocity-­‐making-­‐your-­‐site-­‐fast.html	
  
programming.oreilly.com/2009/07/velocity-­‐making-­‐your-­‐site-­‐
h<ps://secure.flickr.com/photos/47598386@N00/1659336160	
  
	
  But	
  we’re	
  not	
  Google!	
  
h<ps://secure.flickr.com/photos/eelssej_/394781835/	
  
What	
  Now?	
  
• Understand	
  your	
  Environment	
  
• Assess	
  your	
  Technologies	
  
Your	
  Environment	
  
• Who?	
  
• Where?	
  
• How	
  many?	
  
• How	
  criRcal	
  is	
  performance?	
  
MMG	
  	
  
Client	
  Time	
  
Network	
  Time	
  
Server	
  Time	
  
Perceived	
  Response	
  Time	
  
Client	
  Time	
  
Network	
  Time	
  
Server	
  Time	
  
Perceived	
  Response	
  Time	
  
www.submarinecablemap.com	
  
www.telegeography.com	
  
www.telegeography.com	
  
To	
  USA	
  
www.telegeography.com	
  
Bandwidth	
  !==	
  Latency	
  
• More	
  bandwidth	
  is	
  easy.	
  
• Speeding	
  up	
  light	
  is	
  not.	
  
1ms ≈ 100km* in fibre
*Round-­‐Trip	
  distance	
  
h<p://www.igvita.com/2012/07/19/latency-­‐the-­‐new-­‐web-­‐performance-­‐bo<leneck/	
  
www.wondernetwork.com/pings	
  
wheresiYast.com	
  
Performance	
  CriIcality	
  
Arguable	
  
…but…	
  
Non-­‐core	
  ma<ers	
  too!	
   Context	
  
Generic	
  
Core	
  
Measure	
  Early,	
  Measure	
  OLen	
  
(and	
  not	
  just	
  the	
  server!)	
  
FREE!	
  
FREE!	
  
FREE!	
  
FREE!	
  
FREE!	
  
$50	
   FREE!	
  
h<ps://secure.flickr.com/photos/pasukaru76/4016842259/	
  
Conduct	
  Performance	
  Assessments	
  
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	
  
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	
  
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	
  	
  
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	
  
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	
  
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	
  
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	
  
Make	
  Fewer	
  Requests	
  
Speed	
  up	
  Round-­‐Trips	
  
Reduce	
  Payloads	
  
Browser	
  Efficiencies	
  
0%	
  Cacheable	
  
3	
  Round	
  Trips	
  
Download:	
  15	
  kB	
  	
  
Opening	
  PA20	
  
+ Few round-trips
+ Small payloads
+ Efficient
- Single threaded
à Not good for latency
- Proprietary
à no caching
- Uncool
Web	
  Dynpro	
  ABAP	
  
95%	
  Cacheable	
  
74	
  Round	
  Trips	
  
Download:	
  1,300	
  kB	
  	
  
Web	
  Dynpro	
  Leave	
  Request	
  
h<p://www.flickr.com/photos/mr_t_in_dc/5920636730	
  
Fiori	
  (Wave	
  1)	
  
Download:	
  2,770	
  kB	
  	
  
Fiori	
  Leave	
  Request	
  
56	
  Round	
  Trips	
  
84%	
  Cacheable	
  
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	
  
Google’s	
  mod_pagespeed	
  
Automagic	
  server-­‐side	
  web	
  page	
  opRmisaRon	
  
	
  
• Recompresses	
  images	
  
• Combines	
  CSS	
  &	
  JavaScript	
  files	
  
• Applies	
  minificaRon	
  
• etc.	
  etc.	
  
37%	
  Fewer	
  Requests	
  
Google	
  PageSpeed	
  Score:	
  88	
  !	
  98	
  
YSlow	
  Score:	
  83	
  !	
  93	
  
It	
  works:	
  
• 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…	
  
OpportuniIes	
  
• Proxy	
  Caches/private	
  CDN	
  
• WAN	
  Accelerators	
  
	
  
Fiori	
  and	
  Web	
  Dynpro	
  
use	
  lots	
  of	
  public-­‐cacheable	
  content!	
  
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/	
  
OpportuniIes	
  
• Wave	
  2+	
  
	
  
• Cordova/Phonegap	
  container	
  apps	
  
• Custom	
  build	
  for	
  performance-­‐criRcal	
  scenarios.	
  
Greatly	
  improved	
  architecture	
  
Performance	
  is	
  high	
  on	
  the	
  agenda	
  
Make	
  Fewer	
  Requests	
  
Speed	
  up	
  Round-­‐Trips	
  
Reduce	
  Payloads	
  
Browser	
  Efficiencies	
  
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	
  
sascha@BlueT.com.au	
  
+61	
  403	
  933	
  472	
  
BlueT.com.au	
  
@sufw	
  
Mastering SAP Technologies 2014 | 52
Sascha	
  Wenninger	
  

Contenu connexe

Tendances

Scalable Web Arch
Scalable Web ArchScalable Web Arch
Scalable Web Archroyans
 
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!Tinku Ajit
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Amazon Web Services
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessDerek Collison
 
Page Performance
Page PerformancePage Performance
Page Performanceatorreno
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Archroyans
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Archguest18a0f1
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystemsroyans
 
Flickr Services
Flickr ServicesFlickr Services
Flickr Servicesroyans
 
WordPress Speed & Performance from Pagely's CTO
WordPress Speed & Performance from Pagely's CTOWordPress Speed & Performance from Pagely's CTO
WordPress Speed & Performance from Pagely's CTOLizzie Kardon
 
Amazon CloudFront Best Practices and Anti-patterns
Amazon CloudFront  Best Practices and Anti-patternsAmazon CloudFront  Best Practices and Anti-patterns
Amazon CloudFront Best Practices and Anti-patternsAbhishek Tiwari
 
CNPM: Private NPM for Company / 企業級私有NPM
CNPM: Private NPM for Company / 企業級私有NPMCNPM: Private NPM for Company / 企業級私有NPM
CNPM: Private NPM for Company / 企業級私有NPMFeng Yuan
 
Anirban webappsecusa2014
Anirban webappsecusa2014Anirban webappsecusa2014
Anirban webappsecusa2014banerjeea
 
Move out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativesMove out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativestzang ms
 
Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Rakesh Chaudhary
 
12 tips on Django Best Practices
12 tips on Django Best Practices12 tips on Django Best Practices
12 tips on Django Best PracticesDavid Arcos
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystemsroyans
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...Amazon Web Services
 
Spreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldSpreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldMartin Breest
 

Tendances (20)

Scalable Web Arch
Scalable Web ArchScalable Web Arch
Scalable Web Arch
 
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
MySQL Enterprise Backup: Better Very Large Database Backup & Recovery and More!!
 
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
Dynamic Content Acceleration: Amazon CloudFront and Amazon Route 53 (ARC309) ...
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
 
Page Performance
Page PerformancePage Performance
Page Performance
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Flickr Services
Flickr ServicesFlickr Services
Flickr Services
 
WordPress Speed & Performance from Pagely's CTO
WordPress Speed & Performance from Pagely's CTOWordPress Speed & Performance from Pagely's CTO
WordPress Speed & Performance from Pagely's CTO
 
Amazon CloudFront Best Practices and Anti-patterns
Amazon CloudFront  Best Practices and Anti-patternsAmazon CloudFront  Best Practices and Anti-patterns
Amazon CloudFront Best Practices and Anti-patterns
 
CNPM: Private NPM for Company / 企業級私有NPM
CNPM: Private NPM for Company / 企業級私有NPMCNPM: Private NPM for Company / 企業級私有NPM
CNPM: Private NPM for Company / 企業級私有NPM
 
Anirban webappsecusa2014
Anirban webappsecusa2014Anirban webappsecusa2014
Anirban webappsecusa2014
 
Move out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternativesMove out from AppEngine, and Python PaaS alternatives
Move out from AppEngine, and Python PaaS alternatives
 
Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015Advanced Caching Concepts @ Velocity NY 2015
Advanced Caching Concepts @ Velocity NY 2015
 
12 tips on Django Best Practices
12 tips on Django Best Practices12 tips on Django Best Practices
12 tips on Django Best Practices
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
AWS re:Invent 2016: DNS Demystified: Getting Started with Amazon Route 53, fe...
 
Spreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until ToldSpreadshirt Techcamp 2018 - Hold until Told
Spreadshirt Techcamp 2018 - Hold until Told
 
YARN
YARNYARN
YARN
 

En vedette

Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleTobias Trapp
 
5 minute-intro-to-rest
5 minute-intro-to-rest5 minute-intro-to-rest
5 minute-intro-to-restgfarid
 
REST - A Super Quick Intro
REST - A Super Quick IntroREST - A Super Quick Intro
REST - A Super Quick IntroSascha Wenninger
 
SAP TechEd 2010 highlights
SAP TechEd 2010 highlightsSAP TechEd 2010 highlights
SAP TechEd 2010 highlightsSascha Wenninger
 

En vedette (6)

Lecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of HalleLecture about SAP HANA and Enterprise Comupting at University of Halle
Lecture about SAP HANA and Enterprise Comupting at University of Halle
 
5 minute-intro-to-rest
5 minute-intro-to-rest5 minute-intro-to-rest
5 minute-intro-to-rest
 
SAP Reuse Tools
SAP Reuse Tools SAP Reuse Tools
SAP Reuse Tools
 
REST - A Super Quick Intro
REST - A Super Quick IntroREST - A Super Quick Intro
REST - A Super Quick Intro
 
SAP TechEd 2010 highlights
SAP TechEd 2010 highlightsSAP TechEd 2010 highlights
SAP TechEd 2010 highlights
 
Mud therapy
Mud therapy Mud therapy
Mud therapy
 

Similaire à A Look at the Performance of SAP's Modern UIs

Web performance optimization for modern web applications
Web performance optimization for modern web applicationsWeb performance optimization for modern web applications
Web performance optimization for modern web applicationsChris Love
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreRodolfo Fadino Junior
 
Go Faster, Webmasters
Go Faster, WebmastersGo Faster, Webmasters
Go Faster, WebmastersMike Bailey
 
Go Faster, Webmaster
Go Faster, WebmasterGo Faster, Webmaster
Go Faster, WebmasterMike Bailey
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek editionChris Love
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesMaximiliano Firtman
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End PerformanceChris Love
 
High performance website
High performance websiteHigh performance website
High performance websiteChamnap Chhorn
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performanceAndrew Siemer
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App TodayChris Love
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahooguestb1b95b
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django ArchitectureRami Sayar
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuningJohn McCaffrey
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonNeotys
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedPromet Source
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on SteroidsSiteGround.com
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedAndy Kucharski
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Maximiliano Firtman
 

Similaire à A Look at the Performance of SAP's Modern UIs (20)

Performance Web
Performance WebPerformance Web
Performance Web
 
Web performance optimization for modern web applications
Web performance optimization for modern web applicationsWeb performance optimization for modern web applications
Web performance optimization for modern web applications
 
Web Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET CoreWeb Performance Optimization com ASP.NET Core
Web Performance Optimization com ASP.NET Core
 
Go Faster, Webmasters
Go Faster, WebmastersGo Faster, Webmasters
Go Faster, Webmasters
 
Go Faster, Webmaster
Go Faster, WebmasterGo Faster, Webmaster
Go Faster, Webmaster
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
 
High performance website
High performance websiteHigh performance website
High performance website
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
PAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark TomlinsonPAC 2019 virtual Mark Tomlinson
PAC 2019 virtual Mark Tomlinson
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015Extreme Web Performance for Mobile Device Fluent 2015
Extreme Web Performance for Mobile Device Fluent 2015
 

Plus de Sascha Wenninger

Build your Own Technology Roadmap!
Build your Own Technology Roadmap!Build your Own Technology Roadmap!
Build your Own Technology Roadmap!Sascha Wenninger
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)Sascha Wenninger
 
REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)Sascha Wenninger
 
Lessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PILessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PISascha Wenninger
 

Plus de Sascha Wenninger (7)

HTTP/2 and SAP Fiori
HTTP/2 and SAP FioriHTTP/2 and SAP Fiori
HTTP/2 and SAP Fiori
 
Build your Own Technology Roadmap!
Build your Own Technology Roadmap!Build your Own Technology Roadmap!
Build your Own Technology Roadmap!
 
The CSV File Strikes Back
The CSV File Strikes BackThe CSV File Strikes Back
The CSV File Strikes Back
 
REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)REST - What's It All About? (SAP TechEd 2012, CD110)
REST - What's It All About? (SAP TechEd 2012, CD110)
 
REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)REST: So What's It All About? (SAP TechEd 2011, MOB107)
REST: So What's It All About? (SAP TechEd 2011, MOB107)
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
 
Lessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PILessons Learnt Implementing High-Performance Integration using SAP PI
Lessons Learnt Implementing High-Performance Integration using SAP PI
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 

A Look at the Performance of SAP's Modern UIs

  • 1. Sascha  Wenninger   A  Look  at  the  Performance  of  SAP’s     Modern  UI  Technologies  
  • 6.
  • 7. What  Now?   • Understand  your  Environment   • Assess  your  Technologies  
  • 8. Your  Environment   • Who?   • Where?   • How  many?   • How  criRcal  is  performance?  
  • 10. Client  Time   Network  Time   Server  Time   Perceived  Response  Time  
  • 11. Client  Time   Network  Time   Server  Time   Perceived  Response  Time  
  • 12.
  • 13.
  • 18. Bandwidth  !==  Latency   • More  bandwidth  is  easy.   • Speeding  up  light  is  not.   1ms ≈ 100km* in fibre *Round-­‐Trip  distance  
  • 22. Performance  CriIcality   Arguable   …but…   Non-­‐core  ma<ers  too!   Context   Generic   Core  
  • 23. Measure  Early,  Measure  OLen   (and  not  just  the  server!)  
  • 24.
  • 25. FREE!   FREE!   FREE!   FREE!   FREE!   $50   FREE!  
  • 27. 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  
  • 28. 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  
  • 29. 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    
  • 30. 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  
  • 31. 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  
  • 32. 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  
  • 33. 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  
  • 34. Make  Fewer  Requests   Speed  up  Round-­‐Trips   Reduce  Payloads   Browser  Efficiencies  
  • 35.
  • 36. 0%  Cacheable   3  Round  Trips   Download:  15  kB     Opening  PA20  
  • 37. + Few round-trips + Small payloads + Efficient - Single threaded à Not good for latency - Proprietary à no caching - Uncool
  • 39. 95%  Cacheable   74  Round  Trips   Download:  1,300  kB     Web  Dynpro  Leave  Request  
  • 41. Download:  2,770  kB     Fiori  Leave  Request   56  Round  Trips   84%  Cacheable  
  • 42. 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  
  • 43. Google’s  mod_pagespeed   Automagic  server-­‐side  web  page  opRmisaRon     • Recompresses  images   • Combines  CSS  &  JavaScript  files   • Applies  minificaRon   • etc.  etc.  
  • 44. 37%  Fewer  Requests   Google  PageSpeed  Score:  88  !  98   YSlow  Score:  83  !  93   It  works:  
  • 45. • 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…  
  • 46. OpportuniIes   • Proxy  Caches/private  CDN   • WAN  Accelerators     Fiori  and  Web  Dynpro   use  lots  of  public-­‐cacheable  content!  
  • 47. 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/  
  • 48. OpportuniIes   • Wave  2+     • Cordova/Phonegap  container  apps   • Custom  build  for  performance-­‐criRcal  scenarios.   Greatly  improved  architecture   Performance  is  high  on  the  agenda  
  • 49. Make  Fewer  Requests   Speed  up  Round-­‐Trips   Reduce  Payloads   Browser  Efficiencies  
  • 50.
  • 51. 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  
  • 52. sascha@BlueT.com.au   +61  403  933  472   BlueT.com.au   @sufw   Mastering SAP Technologies 2014 | 52 Sascha  Wenninger