web and app performance: top problems to avoid to keep you out of the news
Post on 12-Jul-2015
979 Views
Preview:
TRANSCRIPT
1 @Dynatrace
Tech Blogs on http://blog.dynatrace.com
Free Tools on http://ajax.dynatrace.com
Hosted by: Andreas Grabner - @grabnerandi
Web/App Performance How to keep you out of the News
2 @Dynatrace
That’s why I ended up talking about performance
3 @Dynatrace
4 @Dynatrace
5 @Dynatrace
99.9% Backend0.01% Web Server
6 @Dynatrace
New Tools for App Performance Optimization!
Browser Diagnostics++
User Experience Management
Application Monitoring
Continuous Delivery
For Test, Dev, Ops & Business
4.5http://ajax.dynatrace.com
7 @Dynatrace
But now back to WHY we
are here TODAY…
8 @Dynatrace
Nobody wants this …
9 @Dynatrace
Unless you work for Google or Microsoft
10 @Dynatrace
Nor this …
11 @Dynatrace
12 @Dynatrace
As it leads to this …
13 @Dynatrace
The “War Room”
Facebook – December 2012
14 @Dynatrace
And potentially to this …
15 @Dynatrace
16 @Dynatrace
And this …
17 @Dynatrace
18 @Dynatrace
And that’s why Business doesn’t like it either …
19 @Dynatrace
~80% of problems
caused by ~20% patterns
YES we know this
80% Dev Time in Bug Fixing
$60B Defect Costs
BUT
20 @Dynatrace
5 Situations on
WHY this happened,
HOW to avoid it
21 @Dynatrace
22 @Dynatrace
#Push without a Plan
23 @Dynatrace
Mobile Landing Page of Super Bowl Ad
434 Resources in total on that page:230 JPEGs, 75 PNGs, 50 GIFs, …
Total size of ~ 20MB
24 @Dynatrace
m.store.com redirects to www.store.com
ALL CSS and JS files are
redirected to the www domain
This is a lot of time “wasted” especially on high latency mobile
connections
25 @Dynatrace
Fifa.com during Worldcup
http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/
26 @Dynatrace
# Images
# Redirects
Size of Resources
27 @Dynatrace
28 @Dynatrace
#“Blindly” (Re)use Existing
Components
29 @Dynatrace
Requirement: We need a report
30 @Dynatrace
Using Hibernate results in 4k+ SQL Statements to display 3 items!
Hibernate Executes 4k+ Statements
Individual Execution VERY
FAST
But Total SUM takes 6s
31 @Dynatrace
# SQL Executions
# of SAME SQLs
32 @Dynatrace
33 @Dynatrace
Architectural Decisions gone
Bad
34 @Dynatrace
We wanted Web 2.0 and Mobile Ready!
35 @Dynatrace
36 @Dynatrace
37 @Dynatrace
# Items per Page
# AJAX per Page
38 @Dynatrace
39 @Dynatrace
Don’t assume
You know the environment
40 @Dynatrace
Distance Calculation Issues
480km biking in 1 hour!
Solution: Unit Test in Live App reports Geo
Calc Problems
Finding: Only happens on certain
Android versions
41 @Dynatrace
3rd Party Issues
Impact of bad 3rd party calls
42 @Dynatrace
# Functional Errors
3rd Party calls
43 @Dynatrace
44 @Dynatrace
Deployment gone bad
45 @Dynatrace
Test Environment
Production Environment
8x slower
3x more SQL
46 @Dynatrace
Test Environment Production Environment
Hibernate, Classloading,
XML – The Key Hotspots
Hibernate, Classloading, XML
– The Key Hotspots
I/O for Web Requests doesn’t
even show up!
That’s Normal: Having I/O for Web
Request as main contributor
47 @Dynatrace
Top Contributor Class.getInterfaces
Called from Hibernates FieldInterceptionHelper
These calls all originate form thousands of calls to
find item by code
48 @Dynatrace
Time Spent in API
# Calls into API
49 @Dynatrace
50 @Dynatrace
#No “Agile” Deployment
51 @Dynatrace
Load Spike resulted in UnavailabilityAd o
n air
52 @Dynatrace
Alternative: “GoDaddy goes DevOps”
1h before SuperBowl KickOff
1h after Game ended
53 @Dynatrace
# of Domains
Total Size
54 @Dynatrace
•# Images
•# Redirects
•Size of Resources
•# SQL Executions
•# of SAME SQLs
•# Items per Page
•# AJAX per Page
Consider these Metrics
•Time Spent in API
•# Calls into API
•# Functional Errors
•3rd Party calls
•# of Domains
•Total Size
55 @Dynatrace
Commit Stage• Compile• Execute Unit Test• Code Analysis• Build installers
Automated Acceptance
Testing
Automated Capacity Testing
Manual testing• Key showcases• Exploratory testing Release
Unit & Integration Tests
Functional Tests
Performance TestsProductionMonitoring
Functional Tests
(R)Evolutionize Web Performance Optimization
56 @Dynatrace
57 @Dynatrace
Example from Web Diagnostics 282! Objects
on that page9.68MB Page Size
8.8s Page Load Time
Most objects are images delivered from your main
domain
Very long Connect time (1.8s) to your CDN
58 @Dynatrace
Example from Server-Side Diagnostics526s to render that
report
1 SQL running
210s!
Lots of time spent in logging to Log4J
Lots of time spent in rendering
59 @Dynatrace
Online Performance Clinics
Every Other week @
bit.ly/onlineperfclinic
60 @Dynatrace
Your Benefits
• Free Performance Review
• Extended Dynatrace License
“Share Your PurePath”
bit.ly/sharepurepathMy Benefits
• More blog material for next year
• Gratification that I could help you
61 @Dynatrace
Questions and/or Demo
Get Tools: http://ajax.dynatrace.com
Contact Me: agrabner@dynatrace.com
Follow Me: @grabnerandi
Read More: http://blog.dynatrace.com
62 @Dynatrace
• Get it here: http://ajax.dynatrace.com
• YouTube Tutorials: http://bit.ly/dttutorials
• Live Q&A Sessions: http://bit.ly/onlineperfclinic
• Contact me: agrabner@dynatrace.com – Follow Me: @grabnerandi
•Special Offer:
• Lifetime license for Browser Diagnostics
• 180 Days for End-To-End
30 Days Dynatrace Free Trial
63 @Dynatrace
Andreas GrabnerDynatrace Developer Advocate
@grabnerandi
http://blog.dynatrace.com
top related