Slow Cool 20081009 Final

30
Slow Cool, Slow Cool, Ain Ain t t Cool Cool Hon Wong Hon Wong Symphoniq Corporation Symphoniq Corporation

Transcript of Slow Cool 20081009 Final

Page 1: Slow Cool 20081009 Final

Slow Cool, Slow Cool, AinAin’’tt Cool Cool

Hon WongHon WongSymphoniq CorporationSymphoniq Corporation

Page 2: Slow Cool 20081009 Final

2© 2008 Symphoniq Corporation

AgendaAgenda

• Ajax Web 2.0 apps…new opportunitiesnew performance management challenges

• Real user approach needed

• New approach in action

• Q&A

Page 3: Slow Cool 20081009 Final

3© 2008 Symphoniq Corporation

The Evolving WebThe Evolving Web

3

Page 4: Slow Cool 20081009 Final

4© 2008 Symphoniq Corporation

All In The Name of the End UserAll In The Name of the End User

4

Brittle Architectures

Rigid Taxonomies

Web as InformationSource

Rich InternetApplications (RIA)

Loosely CoupledArchitectures

Loose Folksonomies

Web as InformationCollaboration

“The Next BigKiller App / Feature”

Ubiquitous Computingand Access

Dynamic Architectures

“Semantic Web”

Web as InformationSynthesis

Page 5: Slow Cool 20081009 Final

5© 2008 Symphoniq Corporation

Challenges of the Rich User ExperienceChallenges of the Rich User Experience

5

Page 6: Slow Cool 20081009 Final

6© 2008 Symphoniq Corporation

Dealing with the ChallengeDealing with the Challenge

6

Web App DB

External App

• Log file analysis• HTTP watch• Network sniffers• Load testers• Server monitors• Monitoring services• Many more…

Traditional tools & techniques generateoceans of data – no solutions

Page 7: Slow Cool 20081009 Final

7© 2008 Symphoniq Corporation

Reality CheckReality Check

Dennis Drogseth, VP, Enterprise Management Associates

““43% of all application outages aren43% of all application outages aren’’ttdetected by the tools put in place todetected by the tools put in place to

manage them, but by the end-users whomanage them, but by the end-users whoare subjected to themare subjected to them””

Page 8: Slow Cool 20081009 Final

8© 2008 Symphoniq Corporation

And Even if A Problem is DiscoveredAnd Even if A Problem is Discovered……

0.00%

2.00%

4.00%

6.00%

8.00%

10.00%

12.00%

14.00%

16.00%

18.00%

<1 hour 1-2hours

2-4hours

5-10hours

10-24hours

1-2 days 2-5 days > 5 days

While most problems get solved in less than a day,While most problems get solved in less than a day,30% of problems take more than a day to solve.30% of problems take more than a day to solve.

Forrester Research

Page 9: Slow Cool 20081009 Final

9© 2008 Symphoniq Corporation

Performance Management: Practical Question #1Performance Management: Practical Question #1

When user satisfaction has direct businessWhen user satisfaction has direct businessimpact, do you have the luxury of blindlyimpact, do you have the luxury of blindly

assuming users are satisfied with applicationassuming users are satisfied with applicationperformance?performance?

“Living is a form of not being sure, notknowing what next or how…We guess. Wemay be wrong, but we take leap after leap inthe dark.””

Agnes de Mille

Page 10: Slow Cool 20081009 Final

10© 2008 Symphoniq Corporation

"I'm an ocean, because I'm really deep.If you search deep enough you can find

rare exotic treasures.“

Christina Aguilera

Performance Management: Practical Question #2Performance Management: Practical Question #2

When business happens in Web time, do you haveWhen business happens in Web time, do you havetime to search oceans of performance data to pin-time to search oceans of performance data to pin-

point the cause of slowdowns?point the cause of slowdowns?

Page 11: Slow Cool 20081009 Final

11© 2008 Symphoniq Corporation

“Strive for continuousimprovement, instead of

perfection.”

Kim Collins

When complexity and high-speed changeWhen complexity and high-speed changemake perfection unattainable, do you have themake perfection unattainable, do you have the

actionable information required to driveactionable information required to driveperformance improvements?performance improvements?

Performance Management: Practical Question #3Performance Management: Practical Question #3

Page 12: Slow Cool 20081009 Final

12© 2008 Symphoniq Corporation

Holistic Approach to Performance ManagementHolistic Approach to Performance Management

12

Real User MonitoringReal User Monitoring

• How can I avoid beingblind-sided byperformance issues?

• Which users are beingaffected?

• How can I troubleshootspecific user issues?

Web App PerformanceWeb App Performance Service Level AssuranceService Level Assurance

• Why is my applicationslow?

• Which tier is causing theslowdown?

• Is it inside or outside thedata center?

• How can I recreate orvalidate problems?

• What is the impact ofperformance problemson the business?

• How do I linkperformance criteria tospecific business units?

Web App DB

Page 13: Slow Cool 20081009 Final

13© 2008 Symphoniq Corporation

Bottom Line Impact of Bottom Line Impact of ““Do NothingDo Nothing””

13

Wasted ResourcesCosts 10x to fix the

problem in production

Slow = Off

Wasted ITbudget

Inadequate toolsto detect and

diagnoseproblems

Blame game triage

Distraction from corebusiness

Compromise strategic initiatives

Blindsided byperformance

issues

Brand damage

Reducedproductivity

Employeedowntime

Time and resources consumedTrying to isolate problem

Incompletetransactions

Lost revenueCustomerabandonment

Page 14: Slow Cool 20081009 Final

14© 2008 Symphoniq Corporation

Why Monitor from the Real User Perspective?Why Monitor from the Real User Perspective?

RRTT ≈≈ ( (Payload / BandwidthPayload / Bandwidth) + () + (AppTurnsAppTurns * RTT) + C * RTT) + Css + C + Ccc

RTResponse time of the transaction in seconds

PayloadThe amount of information (bytes) that must be delivered to the user

BandwidthMinimal bandwidth across all network links between the user and thedata center

AppTurnsNumber of user and web site interactions needed to generate a user-levelsystem response to a transaction

RTTRound-trip-time (in seconds) between the user and the data center

CsTotal processing time required by the data center consisting of webservers, application servers and database servers

CcTotal processing time required by the user’s PC

Calculating end user response time is not practical…

Page 15: Slow Cool 20081009 Final

15© 2008 Symphoniq Corporation

Payload• Varies greatly transaction to transaction• 3rd party or cached content• Non-page content like AJAX, Flash

Bandwidth • Varies greatly from user to user• Varies from moment to moment

AppTurns• Varies greatly transaction to transaction• 3rd party or cached content• Non-page content like AJAX, Flash

RTT • Varies from moment to moment

Cs

• Varies from transaction to transaction• Dynamic data center—what “path” will the transaction take?• Difficult to instrument applications, esp. 3rd party code

Cc• Varies from user to user, moment to moment• Impacted by “last mile” conditions

ParameterParameter

How Real-Time Apps Derail RHow Real-Time Apps Derail RTT Calculations Calculations

LimitationsLimitations

Page 16: Slow Cool 20081009 Final

16© 2008 Symphoniq Corporation

Methods of Measuring RMethods of Measuring RTT

EmpiricalEmpirical DirectDirect

PassivePassive SnifferInstalled Agent

orDynamic Injection

ActiveActive Synthetic Monitoring (not applicable)

Measuring RMeasuring RTT by by““listening-inlistening-in”” and andnot adding loadnot adding load

Measuring RT ofartificially created

transactionstransactions

RT derivedderived throughmeasurement of

surrogate parameters

Measuriing RT directlyat the browser

Page 17: Slow Cool 20081009 Final

17© 2008 Symphoniq Corporation

Direct Measurement at Browser Direct Measurement at Browser –– Only Viable Approach Only Viable Approachfor Ajax Appsfor Ajax Apps

• JavaScript that delivers Ajax features are executedon the client’s machine

• Non-page content

• Last mile connectivity impacts end user experience- Chatty protocol- 3rd party content delivery network- Client side caching

• Mash-up, SaaS & 3rd party content maskperformance issues

Page 18: Slow Cool 20081009 Final

18© 2008 Symphoniq Corporation

Installed vs. Dynamic InjectionInstalled vs. Dynamic Injection ApproachesApproaches

• Inject instrumentationonto page via Web serveror App Delivery Controller

• Non-intrusive– No agent download– No source code changes

• Measure RT & errors

• Applicable to all customer-facingor enterprise applications

Dynamic AgentDynamic AgentDownload monitoring agent to PCs

• Download monitoring agent to PC

• Measure RT, errors & desktopperfmon statistics

• Challenges:– Convince users to download– Maintain agents– Potential compatibility issues

• Only suitable for PCs under IT’sdirect control

Installed AgentInstalled Agent

Page 19: Slow Cool 20081009 Final

19© 2008 Symphoniq Corporation

Beyond Monitoring Beyond Monitoring –– End-to-End Management End-to-End Management

19

Web App DB

ManagementServer + DB

External App

SaaS

Tier Time DetailWebAppDBExt 1Ext 2Total

HTML, AJAX, Flash,Silverlight

Page 20: Slow Cool 20081009 Final

20© 2008 Symphoniq Corporation

Meaningful, Correlated & Actionable DataMeaningful, Correlated & Actionable Data

Web Service Calls

SQL Queries

Method Call Tree

Server Parameters: CPU utilization, Memory, I/Oetc.

Server Responsible at Each Tier

Response Time at Web, Application & DatabaseTier

Base Page Response Time

Error or Abort Rate

Object Response Time

Objects Per Page

Parsing Time

Network Latency

Affected Party’s IP Address and URL

RRTT (as experienced by the end-user) (as experienced by the end-user) Everything measured fromthe real user’s perspective

Insight into application

Correlated across all tiers ofnetwork & infrastructure

Page 21: Slow Cool 20081009 Final

21© 2008 Symphoniq Corporation

Real Time, End User Experience Driven ProblemReal Time, End User Experience Driven ProblemResolutionResolution

Detect Problem Based on RT

Assess Impact

Prioritize Issues

Outside or Inside?

Client or Network? Front or Back End?

IdentifyIndividual User

IdentifyIndividual IP

Which Page,Object, Web

Service, Server?

Which Objectand Server?

Trace Call Stack

Method Call orSQL Query?

Outside Inside

Client Network Front End Back End

Solve The Problem

Page 22: Slow Cool 20081009 Final

22© 2008 Symphoniq Corporation

Performance Measurement Based on Real UsersPerformance Measurement Based on Real Users

Page 23: Slow Cool 20081009 Final

23© 2008 Symphoniq Corporation

Quick TriageQuick Triage

• Directly relate real user RT to IT issues―Not impacted by infrastructure configuration―Accommodate 3rd party content, SOA etc.

• Focus resources on fixing the problem instead ofreproducing the problem or pointing fingers

Page 24: Slow Cool 20081009 Final

24© 2008 Symphoniq Corporation

Operate

OptimizeRequirements

Development Phase Production Phase

Discover & fix performance bottle-necks under load prior to rollout

Real-time detection & mitigationof performance issues

Tuning Web App. Performance Using Real DataTuning Web App. Performance Using Real Data

DeployBuild

Design

Page 25: Slow Cool 20081009 Final

25© 2008 Symphoniq Corporation

Requirements of a Comprehensive ToolRequirements of a Comprehensive Tool

• Provides visibility intobrowser-levelperformance, includingRIAs

• Detect performanceproblems in real time tominimize impact

• Report on businessimpact of performanceproblems

• Optimize applicationperformance withhistorical trending andanalysis

DetectDetect

• Isolate problems bytagging and tracingtransactions throughinternal and 3rd partyJ2EE and .NET services

• Visibility into problemservers, services,method calls and SQLqueries

IsolateIsolate OptimizeOptimize

25

Web App DB

Page 26: Slow Cool 20081009 Final

26© 2008 Symphoniq Corporation

Complexity Creates a Spectrum of User ExperiencesComplexity Creates a Spectrum of User Experiences

Web App DB

External App

HTMLAJAXFlash,Silverlight

Response Time

# of

Occ

urre

nce

Page 27: Slow Cool 20081009 Final

27© 2008 Symphoniq Corporation

How to Report App. How to Report App. PerfPerf. to Business Owners. to Business Owners

One approach: Application Performance Index (Apdex)

• Standardized method for reporting app. perf. as definedby an alliance of companies and users (www.apdex.org)

• Reduced myriad of perf. metrics into a 0-to-1 scale (0=nouser satisfied, 1=all users satisfied)

APDEXT =Num. Satisfied Users + ½ Num. Tolerating Users

Total Num. Users

=4T

Page 28: Slow Cool 20081009 Final

28© 2008 Symphoniq Corporation

Aligning App Aligning App PerfPerf to Business Goals to Business Goals

Page 29: Slow Cool 20081009 Final

29© 2008 Symphoniq Corporation

Sample Apdex ReportSample Apdex Report

Page 30: Slow Cool 20081009 Final

30© 2008 Symphoniq Corporation

Contact InformationContact Information

Hon WongSymphoniq Corporation, Palo Alto, CA

Tel: (650) 213-8889e-mail: [email protected]: www.symphoniq.com

THANK YOU!