Date post: | 13-May-2015 |
Category: |
Technology |
Upload: | rajivmordani |
View: | 580 times |
Download: | 8 times |
Slow Cool, Slow Cool, AinAin’’tt Cool Cool
Hon WongHon WongSymphoniq CorporationSymphoniq Corporation
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
3© 2008 Symphoniq Corporation
The Evolving WebThe Evolving Web
3
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
5© 2008 Symphoniq Corporation
Challenges of the Rich User ExperienceChallenges of the Rich User Experience
5
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
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””
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
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
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?
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
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
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
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…
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
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
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
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
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
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
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
22© 2008 Symphoniq Corporation
Performance Measurement Based on Real UsersPerformance Measurement Based on Real Users
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
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
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
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
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
28© 2008 Symphoniq Corporation
Aligning App Aligning App PerfPerf to Business Goals to Business Goals
29© 2008 Symphoniq Corporation
Sample Apdex ReportSample Apdex Report
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!