SlideShare a Scribd company logo
A Look at the Performance of SAP’s 
Modern UI Technologies 
SAP TechEd && d-code 2014 
Sascha Wenninger 
UXP212
programming.oreilly.com/2009/07/velocity-making-your-site-fast.html
programming.oreilly.com/2009/07/velocity-making-your-site-fast. 
html
But we’re not Google! 
SAP TechEd && d-code 2014 https://secure.flickr.com/photos/47598386@N00/1659336160
Performance Criticality 
Arguable 
…but… 
Non-core matters too! Context 
SAP TechEd && d-code 2014 
Core 
Generic
SAP TechEd && d-code 2014 https://secure.flickr.com/photos/eelssej_/394781835/
What Now? 
• Understand your Environment 
• Assess your Technologies 
SAP TechEd && d-code 2014
Your Environment 
• Who? 
• Where? 
• How many? 
• How critical is performance? 
SAP TechEd && d-code 2014
MMG 
SAP TechEd && d-code 2014
Client Time 
SAP TechEd && d-code 2014 
Network Time 
Server Time 
Perceived Response Time
Client Time 
SAP TechEd && d-code 2014 
Network Time 
Server Time 
Perceived Response Time
SAP TechEd && d-code 2014 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. 
SAP TechEd && d-code 2014 
*Round-Trip distance
SAP TechEd && d-codhe 2t0t1p4://www.igvita.com/2012/07/19/latency-the-new-web-performance-bottleneck/
www.wondernetwork.com/pings
wheresitfast.com
Measure Early, Measure Often 
SAP TechEd && d-code 2014 
(and not just the server!)
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014
Conduct Performance Assessments 
SAP TechEd && d-code 2014 https://secure.flickr.com/photos/pasukaru76/4016842259/
Off-The Shelf 
• Helps to set expectations 
• “Eyes wide open” 
• Buy time 
– configure WAN accelerators properly 
– deploy caching proxies in remote locations 
– consider internet access strategies 
SAP TechEd && d-code 2014
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 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
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 Bottom 
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
SAP TechEd && d-code 2014 
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 Bottom 
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
SAP TechEd && d-code 2014 
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 Bottom 
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
SAP TechEd && d-code 2014 
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 Bottom 
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
SAP TechEd && d-code 2014 
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 Bottom 
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 
SAP TechEd && d-code 2014
0%Cacheable 
3Round Trips 
SAP TechEd && d-code 2014 
Download: 15 kB 
Opening PA20
+ Few round-trips 
+ Small payloads 
+ Efficient 
SAP TechEd && d-code 2014 
- Single threaded 
 Not good for latency 
- Proprietary 
 no caching 
- Uncool
Web Dynpro ABAP
Web Dynpro Leave Request 
95%Cacheable 
74Round Trips 
SAP TechEd && d-code 2014 
Download: 1,300 kB
Fiori (Wave 1) 
http://www.flickr.com/photos/mr_t_in_dc/5920636730
Fiori Leave Request 
84%Cacheable 
SAP TechEd && d-code 2014 
Download: 2,770 kB 
56Round Trips –43single-threaded!
SAP TechEd && d-code 2014 
80 
70 
60 
50 
40 
30 
20 
10 
0 
Chattiness 
Initial 
Fiori Web Dynpro 
Cached
SAP TechEd && d-code 2014 
Payload (kB) 
3000 
2500 
2000 
1500 
1000 
500 
0 
Initial 
Cached 
Fiori Web Dynpro
Google’s mod_pagespeed 
Automagic server-side web page optimisation 
• Recompresses images 
• Combines CSS & JavaScript files 
• Applies minification 
• etc. etc. 
SAP TechEd && d-code 2014
37%Fewer Requests 
Google PageSpeed Score: 88  98 
SAP TechEd && d-code 2014 
YSlow Score: 83  93 
It works:
…but not with UI5… 
• UI5 is JavaScript-driven: 
– Very minimal HTML 
– JS loads more JS, other resources to build page 
• PageSpeed can only optimise HTML & references 
SAP TechEd && d-code 2014
For Custom UI5 Apps… 
grunt-contrib-uglify 
Google’s psol (if on Linux) 
Closure Compiler 
YUI Compressor 
… 
See also session UXP301 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
“Don’t worry. The browser will cache it”
Just Browser Caching isn’t enough! 
SAP TechEd && d-code 2014 
Yahoo @ 2007: 
40-60% of users visit 
www.yahoo.com with empty 
cache! 
20% of all page views done 
with empty cache! 
http://www.yuiblog.com/blog/2007/01/04/performance-research-part-2/
Make Fewer Requests 
Speed up Round-Trips 
Reduce Payloads 
Browser Efficiencies 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
CDN
Content Delivery Network 
SAP TechEd && d-code 2014 
https://commons.wikimedia.org/wiki/File:NCDN_-_CDN.png
e.g. Amazon CloudFront User in Lima, Peru 
SAP TechEd && d-code 2014 
Server in Northern CA 
~8,500km ATCF* 
Ideal RTT: >85ms 
Real-world RTT: 165ms 
*as the crow flies
SAP TechEd && d-code 2014 
Fiori Leave Request 
from empty cache: 43 
sequential requests 
165ms × 43 = 7s just in 
network latency
Amazon CloudFront 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
CloudFront Edge locations in 
Rio & São Paulo 
~3,800km ATCF* 
Ideal RTT: >38ms 
Real-world RTT: 105ms 
43 requests are on the critical 
path. 
32 are cacheable 
32 
24
SAP TechEd && d-code 2014 
Fiori Leave Request 
Up to 32 cacheable requests 
could go to CDN 
Potential saving of 2s (28%) 
32 
24
Potential Downsides 
• CDN means public internet 
• Applications usually have to be CDN aware 
– Load static resources from different hostname, or 
– Designed to be served from CDN (e.g. meistr.com) 
• Potential gaps in CDN coverage vs. user base. 
SAP TechEd && d-code 2014
Network Acceleration 
SAP TechEd && d-code 2014
Network Acceleration / WAN Optimisation 
• Appliances by Riverbed, Cisco, et al. 
• “private CDN”, with edge locations in your offices 
• Automagic compression, caching, QoS, etc. 
• Transparent to existing apps – part of the network 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
Fiori Leave Request 
Cacheable requests served by 
local caching node. 
~0ms latency 
Potential saving of 5s (70%)! 
32 
24
Real-World Experience 
• Deployed Cisco WAAS in some locations 
• 40-70% improvement in BOBJ performance 
– ~40% for WebI 
– 50-70% for some dashboards 
• Cisco WAAS + X.509 =  
– All ECC traffic is over SSL (with X.509) so no use here. 
• Now deploying Riverbed SteelHeads for SSL support 
SAP TechEd && d-code 2014
Fiori Opportunities 
• Wave 2+ 
• Cordova/Phonegap/UI5 Kapsel container apps 
• Custom build for performance-critical scenarios. 
SAP TechEd && d-code 2014 
Improved architecture 
Performance is high on the agenda
Make Fewer Requests 
Speed up Round-Trips 
Reduce Payloads 
Browser Efficiencies 
SAP TechEd && d-code 2014
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 twitter: @igrigorik, @souders, @bluesmoon, @dakami, 
@guypod, @mnot, @stoyanstefanov, @agl__ (and their blogs!) 
Blogs: https://insouciant.org, http://highscalability.com 
SAP TechEd && d-code 2014
SAP TechEd && d-code 2014 
Sascha Wenninger 
sascha@BlueT.com.au 
+61 403 93 472 
BlueT.com.au 
@sufw

More Related Content

What's hot

Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
Konstantin Gredeskoul
 
The (not so) Dark Art of Atlassian Performance Tuning
The (not so) Dark Art of Atlassian Performance TuningThe (not so) Dark Art of Atlassian Performance Tuning
The (not so) Dark Art of Atlassian Performance Tuning
colleenfry
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-mining
Atlassian
 
Unlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide PackUnlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide Pack
Rackspace Academy
 
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Amazon Web Services
 
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQLFrom Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
Konstantin Gredeskoul
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
indeedeng
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
indeedeng
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
Red Pill Now
 
(ISM301) Engineering Netflix Global Operations In The Cloud
(ISM301) Engineering Netflix Global Operations In The Cloud(ISM301) Engineering Netflix Global Operations In The Cloud
(ISM301) Engineering Netflix Global Operations In The Cloud
Amazon Web Services
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
royans
 
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
 
Flickr Services
Flickr ServicesFlickr Services
Flickr Services
royans
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
ICF CIRCUIT
 
Edge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance Monitoring
Akamai Technologies
 
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Michael Blumenthal (Microsoft MVP)
 
Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017
Luca Bianchi
 
Web Application Optimization Techniques
Web Application Optimization TechniquesWeb Application Optimization Techniques
Web Application Optimization Techniques
takinbo
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
royans
 
Architecting for Enterprise with JavaScript
Architecting for Enterprise with JavaScriptArchitecting for Enterprise with JavaScript
Architecting for Enterprise with JavaScript
Kurtis Kemple
 

What's hot (20)

Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
The (not so) Dark Art of Atlassian Performance Tuning
The (not so) Dark Art of Atlassian Performance TuningThe (not so) Dark Art of Atlassian Performance Tuning
The (not so) Dark Art of Atlassian Performance Tuning
 
Optimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-miningOptimizing Git LFS Migration Through Repository Data-mining
Optimizing Git LFS Migration Through Repository Data-mining
 
Unlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide PackUnlocked Nov 2013: Main Slide Pack
Unlocked Nov 2013: Main Slide Pack
 
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
Dev Tested, Ops Approved: 10 Guardrails from Atlassian for Better, Faster Dev...
 
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQLFrom Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
From Obvious to Ingenius: Incrementally Scaling Web Apps on PostgreSQL
 
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol [@IndeedEng] Boxcar: A self-balancing distributed services protocol
[@IndeedEng] Boxcar: A self-balancing distributed services protocol
 
[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters[@IndeedEng] Redundant Array of Inexpensive Datacenters
[@IndeedEng] Redundant Array of Inexpensive Datacenters
 
The PRPL Pattern
The PRPL PatternThe PRPL Pattern
The PRPL Pattern
 
(ISM301) Engineering Netflix Global Operations In The Cloud
(ISM301) Engineering Netflix Global Operations In The Cloud(ISM301) Engineering Netflix Global Operations In The Cloud
(ISM301) Engineering Netflix Global Operations In The Cloud
 
Web20expo Scalable Web Arch
Web20expo Scalable Web ArchWeb20expo Scalable Web Arch
Web20expo Scalable Web Arch
 
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) ...
 
Flickr Services
Flickr ServicesFlickr Services
Flickr Services
 
CIRCUIT 2015 - Akamai: Caching and Beyond
CIRCUIT 2015 - Akamai:  Caching and BeyondCIRCUIT 2015 - Akamai:  Caching and Beyond
CIRCUIT 2015 - Akamai: Caching and Beyond
 
Edge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance MonitoringEdge 2014: A Modern Approach to Performance Monitoring
Edge 2014: A Modern Approach to Performance Monitoring
 
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
Introduction to PowerShell (SharePoint Fest Chicago 2016 Workshop)
 
Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017Serverless Meetup - 12 gennaio 2017
Serverless Meetup - 12 gennaio 2017
 
Web Application Optimization Techniques
Web Application Optimization TechniquesWeb Application Optimization Techniques
Web Application Optimization Techniques
 
Web20expo Filesystems
Web20expo FilesystemsWeb20expo Filesystems
Web20expo Filesystems
 
Architecting for Enterprise with JavaScript
Architecting for Enterprise with JavaScriptArchitecting for Enterprise with JavaScript
Architecting for Enterprise with JavaScript
 

Similar to A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014

Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
Jamund Ferguson
 
SAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session PresentationSAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session Presentation
Core To Edge
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
C4Media
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
Optimizely
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
Kaliop-slide
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
Chris Love
 
Alternative Dispatcher Layer Overview
Alternative Dispatcher Layer OverviewAlternative Dispatcher Layer Overview
Alternative Dispatcher Layer Overview
Square Cloud
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
LINAGORA
 
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsGraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Nicola Molinari
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
SiteGround.com
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
Maximiliano Firtman
 
Apache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesApache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build Sites
Peter
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
Andrew Siemer
 
WebDynPro for Java Common Error v5
WebDynPro for Java  Common Error v5WebDynPro for Java  Common Error v5
WebDynPro for Java Common Error v5
Jodi Johnson
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
Rami Sayar
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
Maximiliano Firtman
 
Hadoop Application Architectures - Fraud Detection
Hadoop Application Architectures - Fraud  DetectionHadoop Application Architectures - Fraud  Detection
Hadoop Application Architectures - Fraud Detection
hadooparchbook
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
SAP Cloud Platform
 
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick GuimonetESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
Patrick Guimonet
 
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
serge luca
 

Similar to A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014 (20)

Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
 
SAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session PresentationSAP TechEd 2016 Barcelona TEC123 Session Presentation
SAP TechEd 2016 Barcelona TEC123 Session Presentation
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Supercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the EdgeSupercharging Optimizely Performance by Moving Decisions to the Edge
Supercharging Optimizely Performance by Moving Decisions to the Edge
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
Alternative Dispatcher Layer Overview
Alternative Dispatcher Layer OverviewAlternative Dispatcher Layer Overview
Alternative Dispatcher Layer Overview
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At CommercetoolsGraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile DevicesExtreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Apache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build SitesApache Solr Changes the Way You Build Sites
Apache Solr Changes the Way You Build Sites
 
20 tips for website performance
20 tips for website performance20 tips for website performance
20 tips for website performance
 
WebDynPro for Java Common Error v5
WebDynPro for Java  Common Error v5WebDynPro for Java  Common Error v5
WebDynPro for Java Common Error v5
 
Scalable Django Architecture
Scalable Django ArchitectureScalable Django Architecture
Scalable Django Architecture
 
Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices Extreme Web Performance for Mobile Devices
Extreme Web Performance for Mobile Devices
 
Hadoop Application Architectures - Fraud Detection
Hadoop Application Architectures - Fraud  DetectionHadoop Application Architectures - Fraud  Detection
Hadoop Application Architectures - Fraud Detection
 
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
Overview and Walkthrough of the Application Programming Model with SAP Cloud ...
 
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick GuimonetESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
ESPC15 T8 - SharePoint Online performances - Serge Luca & Patrick Guimonet
 
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
Improve and Understand Your SharePoint Online Performance - Serge Luca Patric...
 

More from Sascha Wenninger

HTTP/2 and SAP Fiori
HTTP/2 and SAP FioriHTTP/2 and SAP Fiori
HTTP/2 and SAP Fiori
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: 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
 
SAP PI and SOA Overview
SAP PI and SOA OverviewSAP PI and SOA Overview
SAP PI and SOA Overview
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 PI
Sascha Wenninger
 
REST - A Super Quick Intro
REST - A Super Quick IntroREST - A Super Quick Intro
REST - A Super Quick Intro
Sascha Wenninger
 
SAP TechEd 2010 highlights
SAP TechEd 2010 highlightsSAP TechEd 2010 highlights
SAP TechEd 2010 highlights
Sascha Wenninger
 

More from 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!
 
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
 
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
 

Recently uploaded

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
TIPNGVN2
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 

Recently uploaded (20)

“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Data structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdfData structures and Algorithms in Python.pdf
Data structures and Algorithms in Python.pdf
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 

A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014

  • 1. A Look at the Performance of SAP’s Modern UI Technologies SAP TechEd && d-code 2014 Sascha Wenninger UXP212
  • 4. But we’re not Google! SAP TechEd && d-code 2014 https://secure.flickr.com/photos/47598386@N00/1659336160
  • 5. Performance Criticality Arguable …but… Non-core matters too! Context SAP TechEd && d-code 2014 Core Generic
  • 6. SAP TechEd && d-code 2014 https://secure.flickr.com/photos/eelssej_/394781835/
  • 7.
  • 8. What Now? • Understand your Environment • Assess your Technologies SAP TechEd && d-code 2014
  • 9. Your Environment • Who? • Where? • How many? • How critical is performance? SAP TechEd && d-code 2014
  • 10. MMG SAP TechEd && d-code 2014
  • 11. Client Time SAP TechEd && d-code 2014 Network Time Server Time Perceived Response Time
  • 12. Client Time SAP TechEd && d-code 2014 Network Time Server Time Perceived Response Time
  • 13.
  • 14.
  • 15. SAP TechEd && d-code 2014 www.submarinecablemap.com
  • 19. Bandwidth !== Latency • More bandwidth is easy. • Speeding up light is not. SAP TechEd && d-code 2014 *Round-Trip distance
  • 20. SAP TechEd && d-codhe 2t0t1p4://www.igvita.com/2012/07/19/latency-the-new-web-performance-bottleneck/
  • 23. Measure Early, Measure Often SAP TechEd && d-code 2014 (and not just the server!)
  • 24. SAP TechEd && d-code 2014
  • 25. SAP TechEd && d-code 2014
  • 26. Conduct Performance Assessments SAP TechEd && d-code 2014 https://secure.flickr.com/photos/pasukaru76/4016842259/
  • 27. Off-The Shelf • Helps to set expectations • “Eyes wide open” • Buy time – configure WAN accelerators properly – deploy caching proxies in remote locations – consider internet access strategies SAP TechEd && d-code 2014
  • 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 SAP TechEd && d-code 2014
  • 29. SAP TechEd && d-code 2014 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 Bottom 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. SAP TechEd && d-code 2014 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 Bottom 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. SAP TechEd && d-code 2014 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 Bottom 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. SAP TechEd && d-code 2014 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 Bottom 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. SAP TechEd && d-code 2014 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 Bottom 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 SAP TechEd && d-code 2014
  • 35.
  • 36. 0%Cacheable 3Round Trips SAP TechEd && d-code 2014 Download: 15 kB Opening PA20
  • 37. + Few round-trips + Small payloads + Efficient SAP TechEd && d-code 2014 - Single threaded  Not good for latency - Proprietary  no caching - Uncool
  • 39. Web Dynpro Leave Request 95%Cacheable 74Round Trips SAP TechEd && d-code 2014 Download: 1,300 kB
  • 40. Fiori (Wave 1) http://www.flickr.com/photos/mr_t_in_dc/5920636730
  • 41. Fiori Leave Request 84%Cacheable SAP TechEd && d-code 2014 Download: 2,770 kB 56Round Trips –43single-threaded!
  • 42. SAP TechEd && d-code 2014 80 70 60 50 40 30 20 10 0 Chattiness Initial Fiori Web Dynpro Cached
  • 43. SAP TechEd && d-code 2014 Payload (kB) 3000 2500 2000 1500 1000 500 0 Initial Cached Fiori Web Dynpro
  • 44. Google’s mod_pagespeed Automagic server-side web page optimisation • Recompresses images • Combines CSS & JavaScript files • Applies minification • etc. etc. SAP TechEd && d-code 2014
  • 45. 37%Fewer Requests Google PageSpeed Score: 88  98 SAP TechEd && d-code 2014 YSlow Score: 83  93 It works:
  • 46. …but not with UI5… • UI5 is JavaScript-driven: – Very minimal HTML – JS loads more JS, other resources to build page • PageSpeed can only optimise HTML & references SAP TechEd && d-code 2014
  • 47. For Custom UI5 Apps… grunt-contrib-uglify Google’s psol (if on Linux) Closure Compiler YUI Compressor … See also session UXP301 SAP TechEd && d-code 2014
  • 48. SAP TechEd && d-code 2014 “Don’t worry. The browser will cache it”
  • 49. Just Browser Caching isn’t enough! SAP TechEd && d-code 2014 Yahoo @ 2007: 40-60% of users visit www.yahoo.com with empty cache! 20% of all page views done with empty cache! http://www.yuiblog.com/blog/2007/01/04/performance-research-part-2/
  • 50. Make Fewer Requests Speed up Round-Trips Reduce Payloads Browser Efficiencies SAP TechEd && d-code 2014
  • 51. SAP TechEd && d-code 2014 CDN
  • 52. Content Delivery Network SAP TechEd && d-code 2014 https://commons.wikimedia.org/wiki/File:NCDN_-_CDN.png
  • 53. e.g. Amazon CloudFront User in Lima, Peru SAP TechEd && d-code 2014 Server in Northern CA ~8,500km ATCF* Ideal RTT: >85ms Real-world RTT: 165ms *as the crow flies
  • 54. SAP TechEd && d-code 2014 Fiori Leave Request from empty cache: 43 sequential requests 165ms × 43 = 7s just in network latency
  • 55. Amazon CloudFront SAP TechEd && d-code 2014
  • 56. SAP TechEd && d-code 2014 CloudFront Edge locations in Rio & São Paulo ~3,800km ATCF* Ideal RTT: >38ms Real-world RTT: 105ms 43 requests are on the critical path. 32 are cacheable 32 24
  • 57. SAP TechEd && d-code 2014 Fiori Leave Request Up to 32 cacheable requests could go to CDN Potential saving of 2s (28%) 32 24
  • 58. Potential Downsides • CDN means public internet • Applications usually have to be CDN aware – Load static resources from different hostname, or – Designed to be served from CDN (e.g. meistr.com) • Potential gaps in CDN coverage vs. user base. SAP TechEd && d-code 2014
  • 59. Network Acceleration SAP TechEd && d-code 2014
  • 60. Network Acceleration / WAN Optimisation • Appliances by Riverbed, Cisco, et al. • “private CDN”, with edge locations in your offices • Automagic compression, caching, QoS, etc. • Transparent to existing apps – part of the network SAP TechEd && d-code 2014
  • 61. SAP TechEd && d-code 2014 Fiori Leave Request Cacheable requests served by local caching node. ~0ms latency Potential saving of 5s (70%)! 32 24
  • 62. Real-World Experience • Deployed Cisco WAAS in some locations • 40-70% improvement in BOBJ performance – ~40% for WebI – 50-70% for some dashboards • Cisco WAAS + X.509 =  – All ECC traffic is over SSL (with X.509) so no use here. • Now deploying Riverbed SteelHeads for SSL support SAP TechEd && d-code 2014
  • 63. Fiori Opportunities • Wave 2+ • Cordova/Phonegap/UI5 Kapsel container apps • Custom build for performance-critical scenarios. SAP TechEd && d-code 2014 Improved architecture Performance is high on the agenda
  • 64. Make Fewer Requests Speed up Round-Trips Reduce Payloads Browser Efficiencies SAP TechEd && d-code 2014
  • 65.
  • 66. 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 twitter: @igrigorik, @souders, @bluesmoon, @dakami, @guypod, @mnot, @stoyanstefanov, @agl__ (and their blogs!) Blogs: https://insouciant.org, http://highscalability.com SAP TechEd && d-code 2014
  • 67. SAP TechEd && d-code 2014 Sascha Wenninger sascha@BlueT.com.au +61 403 93 472 BlueT.com.au @sufw

Editor's Notes

  1. Thanks for the screenshot, Enterprise Irregulars! http://www.enterpriseirregulars.com/34301/erp-20-years-ago-the-move-to-go-global/sap-r2/