59
© eG Innovations, Inc | www.eginnovations.com My Application Is Slow! Best Practices for Troubleshooting and Prevention Frank Ohlhorst Enterprise IT Analyst & Consultant [email protected] Srinivas Ramanathan, CEO eG Innovations [email protected] m

My Application is Slow | Best Practices for Troubleshooting and Prevention

Embed Size (px)

Citation preview

Page 1: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

My Application Is Slow!

Best Practices for Troubleshooting and Prevention

Frank OhlhorstEnterprise IT Analyst & [email protected]

Srinivas Ramanathan, CEOeG Innovations

[email protected]

Page 2: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Moderator

Christine AckleyDirector of Marketing OperationseG [email protected]

Page 3: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Logistics Please submit your questions at any time during the

webinar using the questions panel on the GoToWebinar client.

This webinar is being recorded. You will receive a link to the recording in a few days.

A copy of this presentation is posted on Slideshare:http://www.slideshare.net/eginnovations/

Page 4: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Today’s Presenters

Srinivas RamanathanCEOeG [email protected]

Frank J. OhlhorstEnterprise IT Analyst & [email protected]

Page 5: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Agenda

• Application performance monitoring today

• Why APM is easier said than done?

• Six best practices for troubleshooting and avoiding “my application is slow” problems

• Q&A

Page 6: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Performance Monitoring in the Past Focus on Resources

MemoryCPU Disk Network

Adequate for simple, client-server applicationsX Not sufficient for complex, modern applications

Page 7: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Slow-Time vs. Down-Time

Down-time : $21,000 Slow-time : $4,100

Average revenue loss due to 1 hour of:

However, slowness occurs 10 times more often than downtime.A 1 sec delay in response time decreases customer satisfaction by 16%, reduces conversions by 7%.

Page 8: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Focus of Performance Monitoring Today Great User Experience

Page 9: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Great Application Performance is

Easier Said Than Done!

Page 10: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 11: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 12: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 13: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 14: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 15: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Database

User

Multi-Tier Applications are Hard to Manage

Page 16: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Virtualization Introduces New Challenges

Virtual infrastructures are hard to manage. Traditional monitoring tools are not designed to handle these dynamic environments.

Streaming Media AppSlow Database Queries

Excessive disk reads by the media server

slow down Oracle database accesses

Disk reads

Page 17: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Virtualization Introduces New Challenges• A failure or a slowdown in a virtual infrastructure is far

more severe than in a physical infrastructure

Physical Virtual

• Configuration of VMs can make a big impact on performance; changes to configuration are hard to track

Page 18: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Infrastructure & Application Evolution Poses Challenges

Public cloudPrivate cloud

Virtualized

Browsers Locations Frameworks

Devices ProgrammingLanguages Platforms

Page 19: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Is it due to the client device/ application? Is it the server application code? Is it in the database queries? Is it due to the application platform/

framework? Is it due to the virtual/cloud platform? Is there a slowness in the local or regional

network? Could it be due to storage?

When an Application is Slow …

Page 20: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

How to Achieve Application

Performance Monitoring Success?

Page 21: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

Defines APM as a 5 Dimensional Model

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 22: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 23: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience Monitoring

Emulates users

Imposes the same workload again and again

Provides a measure of experience EVEN when there is no real load

Synthetic MonitoringSynthetic Monitoring

Page 24: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience Monitoring

Record a script to simulate a user session

Open the same application that a user access (e.g.,

browser, Citrix receiver)

Indicate what actions to perform

Specify what to match in the

response

Name the transaction step

Page 25: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience Monitoring

Results of synthetic monitoring shown in the monitoring tool

Page 26: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience Monitoring

Emulates users Imposes the same workload again

and again Provides a measure of experience

EVEN when there is no real load

Synthetic Monitoring

Monitors real users Actual workloads Direct measure of what users

are seeing

Real User MonitoringSynthetic Monitoring

Page 27: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Real User Monitoring Approaches

Agentless RUM

Use Javascript support in web browsers to monitor web access in an agentless manner

Agentless – no software installed on the client

Works for any browser – desktop or mobile

Easy to setup - No need for network taps

Page 28: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Monitoring the Real User Experience

Page 29: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience - Best Practice

Use a combination of synthetic and real user monitoring approaches to gain a complete view of the user experience.

Synthetic Monitoring Real User MonitoringSynthetic Monitoring

Page 30: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

User Experience - Best Practice Consider this scenario:

• Users access web site, place orders

• Order processing happens in the background as an asynchronous process.

• What happens when order processing fails?

• User Experience Monitoring still indicates that all is OK, despite the failure of orders.

Monitoring the user experience is not sufficient. Track your critical business processes as well.

INVENTORY HANDLING

Page 31: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 32: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Business Transaction Tracing

Page 33: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Business Transaction Tracing

Page 34: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

ClassFileTransformer

Business Transaction Tracing

Application is not modified

Introduces some overhead

Tag and follow transactions

Ideal when problems are in the application code

Using byte-code instrumentation

JVM

ClassLoader

Class A

Class B

Class C

Agent

1. Premain

2. addTransformer

5. redefineClass

4. transform

3. WhenLoading…

Page 35: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Transaction Tracing - Best Practice• Transaction tracing is very important for identifying coding

issues and poor database queries.

• May not provide true end-to-end visibility for off-the-shelf applications like SAP, PeopleSoft, etc.

• 3% - number of respondents to Gartner’s APM Survey who ranked this as #1 priority for APM.

Use transaction tracing as one part (not the only part) of your end-to-end application performance monitoring strategy.

Page 36: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 37: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Monitoring = Transaction Tracing

Suppose there is an infrastructure issue – say a database-wide slowdown.

Page 38: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Monitoring = Transaction Tracing

Transaction tracing will NOT point to the root-cause of an infrastructure problem.

Page 39: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

ServerInfrastructure

Health

Application Processes

TCP

Network

Operating System

ApplicationInfrastructure Health

Server/Container

JVM

Application Monitoring = Transaction Tracing

BusinessTransaction Health

App hosted onContainer

CUSTOM

Page 40: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Component Deep Dive

Page 41: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Monitoring Every Layer, Every Tier from One Console

Can you access the application server?

Can you ping the server?

Can you access the TCP port of the server?

Is the application’s Windows service

running?Is the application process

running normally?

Is the server’s OS working properly?

Are applications published on the server

working well?

How is the user experience?

Page 42: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Component Deep Dive – Best Practice

Have the right mix of reach and depth when it comes to monitoring capabilities.

Page 43: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 44: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Topology DiscoveryInter-dependencies abound in today’s application infrastructures:– Application to application

(Java to SQL)– Application to VM/cloud

instance– VM to physical machine/

cloud service– Application to external service– Application to infrastructure services (DNS)

Page 45: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Using Dependencies for Root-Cause Diagnosis

Page 46: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Using Dependencies for Root-Cause Diagnosis

Page 47: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Using Dependencies for Root-Cause Diagnosis

Page 48: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Using Dependencies for Root-Cause Diagnosis

Page 49: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Using Dependencies for Root-Cause Diagnosis

Page 50: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Topology Discovery – Best Practice

Don’t just discover – use application dependencies for root-cause diagnosis.

Page 51: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Application Performance Monitoring Framework

End User Experience Monitoring

Business Transaction

Tracing

Application Component Deep-Dive

Application Topology

Discovery/Visualization

IT Analytics

Page 52: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

IT Analytics

• Auto-baselining• Automatic correlation• Prediction• Capacity analysis• Historical reporting• Bottleneck detection• Optimization recommendations

Page 53: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Auto-Baselining for Proactive Alerting

Automatic, time varying baselines make monitoring

PROACTIVE

Page 54: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Make Optimization Decisions Based on Empirical Data

A few of the servers are handling most of

the sessions

Page 55: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Invest Wisely with Capacity Analytics

Page 56: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

IT Analytics – Best Practice

IT Analytics is 2nd in importance to user experience!

Look for monitoring tools that reduce your burden by automating analysis and providing you actionable insights.

Page 57: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Adopt a combination of synthetic and real user monitoring to track user experience

Monitoring key business processes is as important as monitoring user experience

Transaction tracing should be an important, but not the only part of your application performance monitoring strategy

Reach and depth of monitoring are both important as you look at unified monitoring capabilities

Don’t just discover application inter-dependencies, use them for accurate root-cause diagnosis

Analytics capabilities are important to make monitoring agile and automated

Best Practices Summary

Page 58: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Ensure great user experience Detect problems before users notice –

be proactive Resolve problems quickly, keep MTTR

low Handle problems with fewer people,

less expertise Plan/invest wisely for growth

Benefits of Application Performance Monitoring Success

Page 59: My Application is Slow | Best Practices for Troubleshooting and Prevention

© eG Innovations, Inc | www.eginnovations.com

Next Steps

Free Trialhttp://www.eginnovations.com/freetrial

Send an [email protected]

Call Us+1 (866) 526 6700