SlideShare une entreprise Scribd logo
1  sur  67
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

Contenu connexe

Tendances

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
 
Web Application Optimization Techniques
Web Application Optimization TechniquesWeb Application Optimization Techniques
Web Application Optimization Techniques
takinbo
 

Tendances (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
 

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

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
 

Similaire à 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...
 

Plus de Sascha Wenninger

SAP TechEd 2010 highlights
SAP TechEd 2010 highlightsSAP TechEd 2010 highlights
SAP TechEd 2010 highlights
Sascha 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!
 
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
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Dernier (20)

Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
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
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
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
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 

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

Notes de l'éditeur

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