Web Performance Wars - Total Performance Consulting

37

Transcript of Web Performance Wars - Total Performance Consulting

Page 1: Web Performance Wars - Total Performance Consulting
Page 2: Web Performance Wars - Total Performance Consulting

2

Page 3: Web Performance Wars - Total Performance Consulting

3

Have you ever had a performance related emergency?

Page 4: Web Performance Wars - Total Performance Consulting

4

Page 5: Web Performance Wars - Total Performance Consulting

5

TIME IS MONEY

Page 6: Web Performance Wars - Total Performance Consulting

6

TIME IS MONEY

Page 7: Web Performance Wars - Total Performance Consulting

7

GREATER CONSEQUENCES

Page 8: Web Performance Wars - Total Performance Consulting

War Stories

8

Page 9: Web Performance Wars - Total Performance Consulting

A Park’s Perf War

9

Page 10: Web Performance Wars - Total Performance Consulting

10

PARK RESERVATION PERF WAR

Page 11: Web Performance Wars - Total Performance Consulting

11

WORKLOAD

Business Goals

Requirements Current Usage

HistoricalUsage

Projections

!Success

Page 12: Web Performance Wars - Total Performance Consulting

12

PARK RESERVATION WORKLOAD

HISTORICAL RESERVATIONS COUNTS

Peak Reservations / hr(Opening day for 9 parks) 3509

Peak Reservations on opening day 6950

Peak Reservations / hr(Opening day for 5 other parks) 3400

Peak Reservations on 2nd busiest day 7900

Page 13: Web Performance Wars - Total Performance Consulting

13

WHAT DATA WAS ANALYZED• Perfmon, PAL, and Yslow• Key transaction response times• Resource utilization• Validation of proper application calls

Page 14: Web Performance Wars - Total Performance Consulting

14

BUSINESS LESSONS LEARNED• Performance Considerations• Solid Workload Model• Peak busy min… High traffic days

Page 15: Web Performance Wars - Total Performance Consulting

15

TECHNICAL LESSONS LEARNED• Not what it seems to be• Always suspect the DB• Disk I/O• Front End Performance• Validation of proper application calls

Page 16: Web Performance Wars - Total Performance Consulting

A Retailer’s Perf War

16

Page 17: Web Performance Wars - Total Performance Consulting

17

OVERVIEW• Large Scale Test• Quick Ramp to Full Load• Need to Come from Multiple GEOs

Page 18: Web Performance Wars - Total Performance Consulting

18

BATTLE WOUNDS

Page 19: Web Performance Wars - Total Performance Consulting

19

RETAIL LESSONS• Speak to CDN provider prior to any load test• Ensure at least a 15 minutes ramp-up to full load• Testing off hours• Ensure Load distribution is across as many available

regions as possible• No more than 300 Mb/s traffic should be generated

from one geo area + ISP combination

Page 20: Web Performance Wars - Total Performance Consulting

A Bank’s Perf War

20

Page 21: Web Performance Wars - Total Performance Consulting

21

THE CHALLENGE• 1000+ Branches • New software deployment

Page 22: Web Performance Wars - Total Performance Consulting

22

BANKING BATTLEGROUND• IBM AIX Environment• IBM HTTP Server ( Apache), WebSphere

Application Server, Oracle 10• Web client front end (Javascript)• F5 Load Balancers

Page 23: Web Performance Wars - Total Performance Consulting

23

BANKING STRATEGY• Examine how traffic was being

distributed to the servers • Suspected problem with app traffic load

balancing

Page 24: Web Performance Wars - Total Performance Consulting

24

BANKING VICTORY• Investigated load balancer algorithms • Made the change – problem solved!

Page 25: Web Performance Wars - Total Performance Consulting

Software performance testingand its best practices.

25

Page 26: Web Performance Wars - Total Performance Consulting

26

MONITOR ALL RELEVANT COMPONENTS

Page 27: Web Performance Wars - Total Performance Consulting

27

HOW DOES THE DATA FROM THE TOOLS HELP?

Page 28: Web Performance Wars - Total Performance Consulting

28

ALSO• Make use of collection and analysis tools

readily available for the platform• Examine performance results data against

platform thresholds• Document resource utilization issues• Establish origins of adverse performance

events

Page 29: Web Performance Wars - Total Performance Consulting

29

GET THE LOW HANGING FRUIT

Page 30: Web Performance Wars - Total Performance Consulting

Trend Micro Virus ScanOverall Counter Instance Statistics

30

GET THE LOW HANGING FRUIT

CONDITION\PROCESS(*)\IO DATAOPERATIONS/SEC

MIN AVG MAX HOURLY TREND

STD DEVIATIO

N

10% OF OUTLIERS REMOVED

20%OUTLIERS REMOVED

30% OF OUTLIERS REMOVED

More than 1000 data IO operations (network,

disk, or device IO) per second

SQL1/NTRTScan 0 99 1,985 29 404 1 0 0

Page 31: Web Performance Wars - Total Performance Consulting

31

SOFTWARE PERFORMANCE ANTI-PATTERNS

Traffic didn’t crash the Obamacare site alone. Bad coding did too.

Excessive DB Hits OrganicInheritance

Insufficient DBExpertise

No Active SystemMonitoring for

Continuous Improvement

Non-technicalPMs

Page 32: Web Performance Wars - Total Performance Consulting

The fastest path to a slowdown requires no action

32

ANTI-PATTERNS CONT’D

Excessive ObjectCreation One Lane Bridge

UnmeasureCache

Behavior

Page 33: Web Performance Wars - Total Performance Consulting

33

ANTI-PATTERNS EXAMPLETo prioritize the issues for resolution, one possible ordering is as follows:

1. SQLServer: SQL Errors Errors/sec

2. SQLServer: Access Methods Workfiles Created/sec

3. SQLServer: Locks Lock Timeouts/sec

4. SQLServer: Latches Latch Waits/sec

5. SQLServer: Deprecated Features Usage

Page 34: Web Performance Wars - Total Performance Consulting

34

DOCUMENT CHANGES BETWEEN DELIVERED BUILDS

Page 35: Web Performance Wars - Total Performance Consulting

35

DON’T IGNORE FRONT-END PERFORMANCE• An under performing front end can

negate all downstream optimizations to the end user

• Modernize legacy code• Simplify functionality• Handle exceptions• Sometimes problem(s) exist on

client platform and not application• 80 % of total response time is spent

on the front end

FRONT END ISSUES

Fewer HTTP Requests

Using a CDN

Some content not HTTP compressed

Image optimization opportunities

Minify JS and CSS

Large ASP.NET ViewState

Page 36: Web Performance Wars - Total Performance Consulting

Questions?

36

Amit PatelTotal Performance Consulting

@[email protected]

@TotalPerformwww.totalperform.com

Page 37: Web Performance Wars - Total Performance Consulting

37

Thank You.