Web and App Performance: Top Problems to avoid to keep you out of the News
- 1. Web/App Performance
How to keep you out of the News
Tech Blogs on http://blog.dynatrace.com
Free Tools on http://ajax.dynatrace.com
Hosted by: Andreas Grabner - @grabnerandi
1 @Dynatrace
- 2. That’s why I ended up talking about performance
2 @Dynatrace
- 6. http://ajax.dynatrace.com
New Tools for App Performance Optimization!
Browser Diagnostics++
User Experience Management
Application Monitoring
Continuous Delivery
For Test, Dev, Ops & Business
4.5
6 @Dynatrace
- 19. YES we know this
80%Dev Time in Bug Fixing
$60B Defect Costs
BUT
~80% of problems
caused by ~20% patterns
19 @Dynatrace
- 23. Mobile Landing Page of Super Bowl Ad
434 Resources in total on that page:
230 JPEGs, 75 PNGs, 50 GIFs, …
Total size of ~
20MB
23 @Dynatrace
- 24. 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
24 @Dynatrace
- 25. Fifa.com during Worldcup
http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/
25 @Dynatrace
- 26. # Images
# Redirects
Size of Resources
26 @Dynatrace
- 30. Using Hibernate results in 4k+ SQL Statements to
display 3 items!
Hibernate
Executes 4k+
Statements
Individual
Execution VERY
FAST
But Total SUM
takes 6s
30 @Dynatrace
- 40. 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
40 @Dynatrace
- 46. Test Environment Production Environment
Hibernate,
Hibernate,
Classloading,
XML – The Key
Classloading, XML
– The Key Hotspots
I/O for Web
Requests Hotspots
doesn’t
even show up!
That’s Normal:
Having I/O for Web
Request as main
contributor
46 @Dynatrace
- 54. Consider these Metrics
• # Images
• # Redirects
• Size of Resources
• # SQL Executions
• # of SAME SQLs
• # Items per Page
• # AJAX per Page
•Time Spent in API
• # Calls into API
• # Functional Errors
• 3rd Party calls
• # of Domains
•Total Size
54 @Dynatrace
- 55. (R)Evolutionize Web Performance Optimization
Unit & Integration Tests
Commit Stage
• Compile
• Execute Unit Test
• Code Analysis
• Build installers
Automated
Acceptance
Testing
Performance Tests
Automated
Capacity
Testing
Production
Monitoring
Manual testing
• Key showcases
• Exploratory testing Release
Functional Tests
55 @Dynatrace
- 57. Example from Web Diagnostics 282! Objects
9.68MB Page Size on that page
8.8s Page Load
Time
Most objects are images
delivered from your main
domain
Very long Connect time
(1.8s) to your CDN
57 @Dynatrace
- 58. Example from Server-Side Diagnostics
526s to render that
report
1 SQL running
210s!
Lots of time spent
in logging to Log4J
Lots of time spent
in rendering
58 @Dynatrace
- 60. “Share Your PurePath”
bit.ly/sharepurepath
Your Benefits
• Free Performance Review
• Extended Dynatrace License
My Benefits
• More blog material for next year
• Gratification that I could help you
60 @Dynatrace
- 61. Questions and/or Demo
Get Tools: http://ajax.dynatrace.com
Contact Me: agrabner@dynatrace.com
Follow Me: @grabnerandi
Read More: http://blog.dynatrace.com
61 @Dynatrace
- 62. 30 Days Dynatrace Free Trial
• 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
62 @Dynatrace
Editor's Notes
- The Web Performance Optimization (WPO) movement made a huge impact in optimizing the web apps we build. But in 2014 this is no longer enough. With Mobile Apps and Applications that rely on backend services, 3rd party services, distributed across the globe in physical or virtual data centers requires developers to not just focus on web performance in their browser but end-to-end performance of their application
- My professional background: worked in performance for past 15 years. Segue, Borland, dynaTrace, Compuware, Dynatrace
- With dynaTrace AJAX Edition we solved a problem in the early days of Web Performance Optimization as there were no good tools available on Internet Explorer or Firefox. Endorsements by Steve Souders and John Resig helped to make it well known in the WPO community
- By now there are many great free tools out there: dynaTrace AJAX Edition, speedtracer, yslow, pagespeed, … - all do a great job in analyzing frontend performance – and based on Steve Souders that’s where 80% of your performance is
Which is true for most landing pages of websites and those that have been built leveraging the browser as an application platform. BUT – it is not true for many critical pages or backend heavy applications such as eCommerce checkouts, …
- Some critical steps in an application are just very heavy on the server side – such as generating reports, getting your user history, order status, notifications, …
In this example we talk about an online room reservation system where generating the overview of available meeting rooms takes between 60 and 120s. The problem however lies in the backend implementation due to some bad implementations causing thousands of SQL queries to be executed and too much data loaded into memory causing high GC. Rendering that page in the browser only takes a fraction of the total time
- That’s why we are happy to announce the availability of the next (r)evolutionary step when it comes to web performance optimization. We have a new version of AJAX Edition available but also now provide the same level of diagnostics not only in the browser but also end-to-end with our Dynatrace 6.1 Application Monitoring and User Experience Management.
You can get both tools from http://ajax.dynatrace.com