YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

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

SAP TechEd && d-code 2014

Sascha Wenninger

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

UXP212

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

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

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

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

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

SAP TechEd && d-code 2014 https://secure.flickr.com/photos/47598386@N00/1659336160

But we’re not Google!

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

SAP TechEd && d-code 2014

Performance Criticality

Arguable…but…Non-core matters too! Context

Generic

Core

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

SAP TechEd && d-code 2014 https://secure.flickr.com/photos/eelssej_/394781835/

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

SAP TechEd && d-code 2014

What Now?

• Understand your Environment• Assess your Technologies

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

SAP TechEd && d-code 2014

Your Environment

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

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

SAP TechEd && d-code 2014

MMG

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

SAP TechEd && d-code 2014

Client Time

Network Time

Server Time

Perceived Response Time

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

SAP TechEd && d-code 2014

Client Time

Network Time

Server Time

Perceived Response Time

Page 13: A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014
Page 14: A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014
Page 15: A Look at the Performance of SAP UI Technologies - UXP212 at SAP TechEd && d-code 2014

SAP TechEd && d-code 2014 www.submarinecablemap.com

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

www.telegeography.com

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

www.telegeography.com

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

To USAwww.telegeography.com

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

SAP TechEd && d-code 2014

Bandwidth !== Latency

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

1ms ≈ 100km* in fibre

*Round-Trip distance

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

SAP TechEd && d-code 2014http://www.igvita.com/2012/07/19/latency-the-new-web-performance-bottleneck/

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

www.wondernetwork.com/pings

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

wheresitfast.com

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

SAP TechEd && d-code 2014

Measure Early, Measure Often

(and not just the server!)

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

SAP TechEd && d-code 2014

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

SAP TechEd && d-code 2014

FREE!

FREE!FREE!

FREE!

FREE!

FREE!

$50 FREE!

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

SAP TechEd && d-code 2014 https://secure.flickr.com/photos/pasukaru76/4016842259/

Conduct Performance Assessments

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

SAP TechEd && d-code 2014

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

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

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

Page 29: A Look at the Performance of SAP UI Technologies - UXP212 at 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

Page 30: A Look at the Performance of SAP UI Technologies - UXP212 at 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

Make Fewer Requests

Page 31: A Look at the Performance of SAP UI Technologies - UXP212 at 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

Make Fewer RequestsSpeed up Round-Trips

Page 32: A Look at the Performance of SAP UI Technologies - UXP212 at 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

Make Fewer RequestsSpeed up Round-TripsReduce Payloads

Page 33: A Look at the Performance of SAP UI Technologies - UXP212 at 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

Make Fewer RequestsSpeed up Round-TripsReduce PayloadsBrowser Efficiencies

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

SAP TechEd && d-code 2014

Make Fewer Requests

Speed up Round-Trips

Reduce Payloads

Browser Efficiencies

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

SAP TechEd && d-code 2014

0% Cacheable

3 Round Trips

Download: 15 kB

Opening PA20

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

SAP TechEd && d-code 2014

+ Few round-trips

+ Small payloads

+ Efficient

- Single threaded

Not good for latency

- Proprietary

no caching

- Uncool

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

Web Dynpro ABAP

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

SAP TechEd && d-code 2014

95% Cacheable

74 Round Trips

Download: 1,300 kB

Web Dynpro Leave Request

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

http://www.flickr.com/photos/mr_t_in_dc/5920636730

Fiori (Wave 1)

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

SAP TechEd && d-code 2014

Download: 2,770 kB

Fiori Leave Request

56 Round Trips – 43 single-threaded!

84% Cacheable

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

SAP TechEd && d-code 2014

Fiori Web Dynpro0

10

20

30

40

50

60

70

80

ChattinessInitial

Cached

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

SAP TechEd && d-code 2014

Payload (kB)

Fiori Web Dynpro0

500

1000

1500

2000

2500

3000

Initial

Cached

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

SAP TechEd && d-code 2014

Google’s mod_pagespeed

Automagic server-side web page optimisation

• Recompresses images• Combines CSS & JavaScript files• Applies minification• etc. etc.

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

SAP TechEd && d-code 2014

37% Fewer Requests

Google PageSpeed Score: 88 98YSlow Score: 83 93

It works:

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

SAP TechEd && d-code 2014

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

• PageSpeed can only optimise HTML & references

…but not with UI5…

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

SAP TechEd && d-code 2014

“Don’t worry. The browser will cache it”

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

SAP TechEd && d-code 2014

Just Browser Caching isn’t enough!

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/

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

SAP TechEd && d-code 2014

Make Fewer Requests

Speed up Round-Trips

Reduce Payloads

Browser Efficiencies

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

SAP TechEd && d-code 2014

CDN

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

SAP TechEd && d-code 2014

Content Delivery Network

https://commons.wikimedia.org/wiki/File:NCDN_-_CDN.png

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

SAP TechEd && d-code 2014

e.g. Amazon CloudFront User in Lima, PeruServer in Northern CA~8,500km ATCF*

Ideal RTT: >85msReal-world RTT: 165ms

*as the crow flies

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

SAP TechEd && d-code 2014

Fiori Leave Request

from empty cache: 43 sequential requests

165ms × 43 = 7s just in network latency

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

SAP TechEd && d-code 2014

Amazon CloudFront

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

SAP TechEd && d-code 2014

CloudFront Edge locations in Rio & São Paulo~3,800km ATCF*

Ideal RTT: >38msReal-world RTT: 105ms

43 requests are on the critical path.32 are cacheable

32

24

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

SAP TechEd && d-code 2014

Fiori Leave Request

Up to 32 cacheable requests could go to CDN

Potential saving of 2s (28%)32

24

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

SAP TechEd && d-code 2014

• 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.

Potential Downsides

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

SAP TechEd && d-code 2014

Network Acceleration

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

SAP TechEd && d-code 2014

• 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

Network Acceleration / WAN Optimisation

Page 61: A Look at the Performance of SAP UI Technologies - UXP212 at 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

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

SAP TechEd && d-code 2014

• 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

Real-World Experience

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

SAP TechEd && d-code 2014

Fiori Opportunities

• Wave 2+

• Cordova/Phonegap/UI5 Kapsel container apps• Custom build for performance-critical scenarios.

Improved architecturePerformance is high on the agenda

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

SAP TechEd && d-code 2014

Make Fewer Requests

Speed up Round-Trips

Reduce Payloads

Browser Efficiencies

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

SAP TechEd && d-code 2014

[email protected]

+61 403 93 472

BlueT.com.au

@sufw

Sascha Wenninger


Related Documents