Web and App Performance: Top Problems to avoid to keep you out of the News

63
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

Transcript of Web and App Performance: Top Problems to avoid to keep you out of the News

Page 1: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 2: Web and App Performance: Top Problems to avoid to keep you out of the News

2 @Dynatrace

That’s why I ended up talking about performance

Page 3: Web and App Performance: Top Problems to avoid to keep you out of the News

3 @Dynatrace

Page 4: Web and App Performance: Top Problems to avoid to keep you out of the News

4 @Dynatrace

Page 5: Web and App Performance: Top Problems to avoid to keep you out of the News

5 @Dynatrace

99.9% Backend0.01% Web Server

Page 6: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 7: Web and App Performance: Top Problems to avoid to keep you out of the News

7 @Dynatrace

But now back to WHY we

are here TODAY…

Page 8: Web and App Performance: Top Problems to avoid to keep you out of the News

8 @Dynatrace

Nobody wants this …

Page 9: Web and App Performance: Top Problems to avoid to keep you out of the News

9 @Dynatrace

Unless you work for Google or Microsoft

Page 10: Web and App Performance: Top Problems to avoid to keep you out of the News

10 @Dynatrace

Nor this …

Page 11: Web and App Performance: Top Problems to avoid to keep you out of the News

11 @Dynatrace

Page 12: Web and App Performance: Top Problems to avoid to keep you out of the News

12 @Dynatrace

As it leads to this …

Page 13: Web and App Performance: Top Problems to avoid to keep you out of the News

13 @Dynatrace

The “War Room”

Facebook – December 2012

Page 14: Web and App Performance: Top Problems to avoid to keep you out of the News

14 @Dynatrace

And potentially to this …

Page 15: Web and App Performance: Top Problems to avoid to keep you out of the News

15 @Dynatrace

Page 16: Web and App Performance: Top Problems to avoid to keep you out of the News

16 @Dynatrace

And this …

Page 17: Web and App Performance: Top Problems to avoid to keep you out of the News

17 @Dynatrace

Page 18: Web and App Performance: Top Problems to avoid to keep you out of the News

18 @Dynatrace

And that’s why Business doesn’t like it either …

Page 19: Web and App Performance: Top Problems to avoid to keep you out of the News

19 @Dynatrace

~80% of problems

caused by ~20% patterns

YES we know this

80% Dev Time in Bug Fixing

$60B Defect Costs

BUT

Page 20: Web and App Performance: Top Problems to avoid to keep you out of the News

20 @Dynatrace

5 Situations on

WHY this happened,

HOW to avoid it

Page 21: Web and App Performance: Top Problems to avoid to keep you out of the News

21 @Dynatrace

Page 22: Web and App Performance: Top Problems to avoid to keep you out of the News

22 @Dynatrace

#Push without a Plan

Page 23: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 24: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 25: Web and App Performance: Top Problems to avoid to keep you out of the News

25 @Dynatrace

Fifa.com during Worldcup

http://apmblog.compuware.com/2014/05/21/is-the-fifa-world-cup-website-ready-for-the-tournament/

Page 26: Web and App Performance: Top Problems to avoid to keep you out of the News

26 @Dynatrace

# Images

# Redirects

Size of Resources

Page 27: Web and App Performance: Top Problems to avoid to keep you out of the News

27 @Dynatrace

Page 28: Web and App Performance: Top Problems to avoid to keep you out of the News

28 @Dynatrace

#“Blindly” (Re)use Existing

Components

Page 29: Web and App Performance: Top Problems to avoid to keep you out of the News

29 @Dynatrace

Requirement: We need a report

Page 30: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 31: Web and App Performance: Top Problems to avoid to keep you out of the News

31 @Dynatrace

# SQL Executions

# of SAME SQLs

Page 32: Web and App Performance: Top Problems to avoid to keep you out of the News

32 @Dynatrace

Page 33: Web and App Performance: Top Problems to avoid to keep you out of the News

33 @Dynatrace

Architectural Decisions gone

Bad

Page 34: Web and App Performance: Top Problems to avoid to keep you out of the News

34 @Dynatrace

We wanted Web 2.0 and Mobile Ready!

Page 35: Web and App Performance: Top Problems to avoid to keep you out of the News

35 @Dynatrace

Page 36: Web and App Performance: Top Problems to avoid to keep you out of the News

36 @Dynatrace

Page 37: Web and App Performance: Top Problems to avoid to keep you out of the News

37 @Dynatrace

# Items per Page

# AJAX per Page

Page 38: Web and App Performance: Top Problems to avoid to keep you out of the News

38 @Dynatrace

Page 39: Web and App Performance: Top Problems to avoid to keep you out of the News

39 @Dynatrace

Don’t assume

You know the environment

Page 40: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 41: Web and App Performance: Top Problems to avoid to keep you out of the News

41 @Dynatrace

3rd Party Issues

Impact of bad 3rd party calls

Page 42: Web and App Performance: Top Problems to avoid to keep you out of the News

42 @Dynatrace

# Functional Errors

3rd Party calls

Page 43: Web and App Performance: Top Problems to avoid to keep you out of the News

43 @Dynatrace

Page 44: Web and App Performance: Top Problems to avoid to keep you out of the News

44 @Dynatrace

Deployment gone bad

Page 45: Web and App Performance: Top Problems to avoid to keep you out of the News

45 @Dynatrace

Test Environment

Production Environment

8x slower

3x more SQL

Page 46: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 47: Web and App Performance: Top Problems to avoid to keep you out of the News

47 @Dynatrace

Top Contributor Class.getInterfaces

Called from Hibernates FieldInterceptionHelper

These calls all originate form thousands of calls to

find item by code

Page 48: Web and App Performance: Top Problems to avoid to keep you out of the News

48 @Dynatrace

Time Spent in API

# Calls into API

Page 49: Web and App Performance: Top Problems to avoid to keep you out of the News

49 @Dynatrace

Page 50: Web and App Performance: Top Problems to avoid to keep you out of the News

50 @Dynatrace

#No “Agile” Deployment

Page 51: Web and App Performance: Top Problems to avoid to keep you out of the News

51 @Dynatrace

Load Spike resulted in UnavailabilityAd o

n air

Page 52: Web and App Performance: Top Problems to avoid to keep you out of the News

52 @Dynatrace

Alternative: “GoDaddy goes DevOps”

1h before SuperBowl KickOff

1h after Game ended

Page 53: Web and App Performance: Top Problems to avoid to keep you out of the News

53 @Dynatrace

# of Domains

Total Size

Page 54: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 55: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 56: Web and App Performance: Top Problems to avoid to keep you out of the News

56 @Dynatrace

Page 57: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 58: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 59: Web and App Performance: Top Problems to avoid to keep you out of the News

59 @Dynatrace

Online Performance Clinics

Every Other week @

bit.ly/onlineperfclinic

Page 60: Web and App Performance: Top Problems to avoid to keep you out of the News

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

Page 61: Web and App Performance: Top Problems to avoid to keep you out of the News

61 @Dynatrace

Questions and/or Demo

Get Tools: http://ajax.dynatrace.com

Contact Me: [email protected]

Follow Me: @grabnerandi

Read More: http://blog.dynatrace.com

Page 62: Web and App Performance: Top Problems to avoid to keep you out of the News

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: [email protected] – Follow Me: @grabnerandi

•Special Offer:

• Lifetime license for Browser Diagnostics

• 180 Days for End-To-End

30 Days Dynatrace Free Trial

Page 63: Web and App Performance: Top Problems to avoid to keep you out of the News

63 @Dynatrace

Andreas GrabnerDynatrace Developer Advocate

@grabnerandi

http://blog.dynatrace.com