web and app performance: top problems to avoid to keep you out of the news

Post on 12-Jul-2015

979 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

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