real world problem solving using application performance management 10

38
Pre-Con Education: Real World Problem Solving Using Application Performance Management 10 Haroon Ahmed, Andreas Reiss DevOps: Agile Ops CA Technologies CA APM SWAT DO5X114E @CAWorld #CAWorld

Upload: ca-technologies

Post on 21-Mar-2017

540 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Real World Problem Solving Using Application Performance Management 10

Pre-Con Education: Real World Problem Solving Using Application Performance Management 10

Haroon Ahmed, Andreas Reiss

DevOps: Agile Ops

CA Technologies

CA APM SWAT

DO5X114E

@CAWorld

#CAWorld

Page 2: Real World Problem Solving Using Application Performance Management 10

2 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

© 2015 CA. All rights reserved. All trademarks referenced herein belong to their respective companies.

The content provided in this CA World 2015 presentation is intended for informational purposes only and does not form any type of

warranty. The information provided by a CA partner and/or CA customer has not been reviewed for accuracy by CA.

For Informational Purposes Only

Terms of this Presentation

Page 3: Real World Problem Solving Using Application Performance Management 10

3 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Abstract

CA Application Performance Management 10 dramatically reduces the time needed to find and solve app problems. In this session you will learn about common problem-solving techniques used by experts to solve real-world app problems. You will get a chance to put these techniques to the test in a hands-on lab that mimics an interesting application performance problem.

HaroonAhmed

CA Technologies

Senior Director Engineering Services

Page 4: Real World Problem Solving Using Application Performance Management 10

4 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Agenda

TRIAGE AND DIAGNOSIS STRATEGY

USE CASE 1 – PIG IN A PYTHON

USE CASE 2 – DEATH BY 1000 PAPER CUTS

USE CASE 3 – OUT OF GAS

1

2

3

4

Page 5: Real World Problem Solving Using Application Performance Management 10

5 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Typical Application Flow

OS/HWOS/HW

RUNTIMEJVM, CLR, Java Script, PHP

RUNTIMEJVM, CLR, Java Script, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

SynchronousAsynchronousSynchronous

Asynchronous

MainframeMainframe

MessagingMessaging

ERP, CRMERP, CRM

Web ServicesWeb Services

DatabasesDatabases

Micro ServicesMicro Services

CICS / IMS / TuxedoCICS / IMS / Tuxedo

Response

Request

SOAPRESTJMS

JDBC, ADO.NET

SOAPRESTJMS

JDBC, ADO.NET

OS/HW

RUNTIMEJVM, CLR, Java Script, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

SynchronousAsynchronous

Mainframe

Messaging

ERP, CRM

Web Services

Databases

Micro Services

CICS / IMS / Tuxedo

Response

Request

SOAPRESTJMS

JDBC, ADO.NET

Page 6: Real World Problem Solving Using Application Performance Management 10

6 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

What to Monitor in Production

OS/HWOS/HW

RUNTIMEJVM, CLR, Java Script, PHP

RUNTIMEJVM, CLR, Java Script, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

SynchronousAsynchronousSynchronous

Asynchronous

MainframeMainframe

MessagingMessaging

ERP, CRMERP, CRM

Web ServicesWeb Services

DatabasesDatabases

Micro ServicesMicro Services

CICS / IMS / TuxedoCICS / IMS / Tuxedo

Response

Request

SOAPRESTJMS

JDBC, ADO.NET

SOAPRESTJMS

JDBC, ADO.NET

OS/HW

RUNTIMEJVM, CLR, Java Script, PHP

APPLICATION SERVERJ2EE, .Net, Node.js, PHP

SynchronousAsynchronous

Mainframe

Messaging

ERP, CRM

Web Services

Databases

Micro Services

CICS / IMS / Tuxedo

Response

Request

SOAPRESTJMS

JDBC, ADO.NET

FRONTEND BACKEND

MUCK

RESOURCES

Page 7: Real World Problem Solving Using Application Performance Management 10

7 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Key Focus Areas

• Business Transaction, URL, Web Service

• Servlet, ASP.Net, JMSFrontend

• Web Service, EJB, Enterprise Service

• POJOMuck

• Database, Mainframe, LDAP, Web Services

• JDBC, ADO.Net, CTG etc…Backend

• Thread Pools, JDBC Pools, Memory, CPU

• GC MonitorResources

Metrics

Events

Relationships

Page 8: Real World Problem Solving Using Application Performance Management 10

8 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Stall & Concurrency Count Brewing problems, Hot spots

Response Time and Throughput Lagging indicator

Resources GC, GC per Interval/time

Thread Utilization

Error Count

Instance Counts

Metrics

10 Minute

ART

STALL

Page 9: Real World Problem Solving Using Application Performance Management 10

9 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Interpreting Performance Metrics (Production)D

etai

l

Low

High

Ability to RespondReactive Proactive

Heap DumpsThread Dumps

Log Files

PingersProcess

BrewingLaggingHosed

Mean Time To ResolutionHigh Low

Response TimeThroughput

GC HeapCPU Utilization

Stall CountConcurrency Error Count

Instance Counts

GC Monitor

Thread PoolsJDBC Pools

Med

Page 10: Real World Problem Solving Using Application Performance Management 10

10 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Traces

Error

Stall

Events

Status

Topology

Attribute

Page 11: Real World Problem Solving Using Application Performance Management 10

11 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Relationships

Dynamic

Correlated View

Decorated

Timeline

Historical

Trending

Page 12: Real World Problem Solving Using Application Performance Management 10

12 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Use Cases

1. PIG IN A PYTHON

2. DEATH BY A THOUSAND PAPER CUTS

3. OUT OF GAS

Page 13: Real World Problem Solving Using Application Performance Management 10

13 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

USE CASE 1

PIG IN A PYTHON

13

Page 14: Real World Problem Solving Using Application Performance Management 10

14 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Symptoms: – Slower and slower over time or under load

– Consistent slowness

Root Cause:– External bottleneck

– Over-usage of external system

– Bad Coding: CPU bound component

– Network Saturation

– Threading: Chokepoint

Common Symptoms & Root Cause

Page 15: Real World Problem Solving Using Application Performance Management 10

15 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

In Team Center - relationship view, timeline and spark graphs

Look at frontend metrics, enable min/max to see outliers

Search tab and sort on average response time, enable min/max to see outliers

Run Transaction Tracer and look for long running components (to get single user transaction)

Where to Start…

Page 16: Real World Problem Solving Using Application Performance Management 10

16 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Backend Bottleneck

Page 17: Real World Problem Solving Using Application Performance Management 10

17 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Muck – Business Component Bottleneck

77% of the transaction time is spent waiting on the billing system

Page 18: Real World Problem Solving Using Application Performance Management 10

18 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Framework Bottleneck – Bad XML

Page 19: Real World Problem Solving Using Application Performance Management 10

19 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Use Case 2

DEATH BY A THOUSAND PAPER CUTS

Page 20: Real World Problem Solving Using Application Performance Management 10

20 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Symptoms:– Consistent slowness

– Slower and slower under load

Root Cause:– Over-usage of external system

– Layer-itis

– The unending retry

Common Symptoms and Root Cause

Page 21: Real World Problem Solving Using Application Performance Management 10

21 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

In Team Center - relationship view, timeline and spark graphs

Look at frontend metrics, enable min/max to see outliers

Run Transaction Tracer and look for a bar code

Look at the Summary View and sort on # of calls. Look for high

call counts for one or more components in a single user

transaction

Where to Start…

Page 22: Real World Problem Solving Using Application Performance Management 10

22 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Over Usage of External SystemNote: 4666 SQL calls in a single user txn - 2 SQL statements account for ~95% of SQL calls and ~50% of the total txn time!

Page 23: Real World Problem Solving Using Application Performance Management 10

23 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Abuse of J2EE Framework

Page 24: Real World Problem Solving Using Application Performance Management 10

24 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Misconfigured Resource – JDBC Adapter

Note the barcode of SQL calls. Also note commits after every JDBC Select. COMMIT call taking ~5 seconds!!!

Page 25: Real World Problem Solving Using Application Performance Management 10

25 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Use Case 3

OUT OF GAS

Page 26: Real World Problem Solving Using Application Performance Management 10

26 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Symptoms:– Sudden chaos

– Foreseeable lockup

– Slower and slower under load or over time

– Consistent slowness

– Sporadic hangs or aberrant errors

Root Cause:– External bottleneck

– Bad Coding: infinite loop

– The unending retry

– Internal resource bottleneck: over usage or under allocation

– Network Saturation

– Threading: Chokepoint, Deadlock/Livelock

Common Symptoms and Root Cause

Page 27: Real World Problem Solving Using Application Performance Management 10

27 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

APM– Sudden/gradual increase in stall counts and stalled events

– Increasing concurrency counts and decreasing responses per interval

– Investigator/search tab used to find components with stalls or high concurrency

Application Server Resources– Look for sudden or slow thread pool / JDBC pool depletion

OS Resources– Look for changes in CPU and Heap utilization

– Increases in CPU and Full GC time/count could point to bad code

– CPU Utilization decreases and JVM halts – out of application server resources

Where to Start…

Page 28: Real World Problem Solving Using Application Performance Management 10

28 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

External Bottleneck – DB Stored Procedure is the Root Cause

Thread Depletion

Increase Count against a DB stored procedure

Stored Procedure execution time from 25 min and UP

Page 29: Real World Problem Solving Using Application Performance Management 10

29 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Stalls That Degrade Performance Over Time

2

Surge in Application Activity

Stalled threads degrading application reliability over time

Page 30: Real World Problem Solving Using Application Performance Management 10

30 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Stall Events With Smart Instrumentation

Page 31: Real World Problem Solving Using Application Performance Management 10

31 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Hands-on Lab

Challenge: Triage and Diagnose Using APM 10

Page 32: Real World Problem Solving Using Application Performance Management 10

32 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

2. Webview1. EM

3. Start

MathApp

4. Run

JMeter

4. Run Lab5

problem

scenario

Page 33: Real World Problem Solving Using Application Performance Management 10

33 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Hands-on Exercise

1. Log into the lab VM (Administrator/CAdemo123)

2. Start the Enterprise Manager

3. Start Webview

4. Start MathApp

5. Start Baseline Load on MathApp

6. Wait 5 minutes

7. Start Lab5 problem scenario

8. Triage and Diagnose the problem

– Using ATC, Webview, Investigator tree, events etc.

Page 34: Real World Problem Solving Using Application Performance Management 10

34 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Recommended Sessions

SESSION # TITLE DATE/TIME

DO5X189SHow to Achieve a Customer-Centric View in an Omni-

Channel World11/18/2015 at 1:00 pm

DO5X194SMonitor Microservices, Containers, Cloud Foundry and

Node with CA Application Performance Management11/18/2015 at 4:30 pm

DO5X193S

Customize CA Application Performance Management

with Tips for Using the CA Application Performance

Management Open APIs

11/19/2015 at 4:30 pm

Page 35: Real World Problem Solving Using Application Performance Management 10

35 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Must See Demos

Application Performance Management and DevOps, featuring APM use in preproduction scenarios

Application Performance Management

Theater 5

Application Performance Management, Modern Monitoring, featuring the new APM Team Center

Application Performance Management

Theater 5

Ensuring a “5 star” mobile app experience with CA Mobile App Analytics

Mobile App Analytics

Theater 5

Unified Monitoring: APM Integrations including UIM

Application Performance Management

Theater 5

Page 36: Real World Problem Solving Using Application Performance Management 10

36 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Follow On Conversations At…

Smart Bar

Application Performance Management

Theater 5

Tech Talks

Application Performance Management

Theater 5

Page 37: Real World Problem Solving Using Application Performance Management 10

37 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

Q & A

Page 38: Real World Problem Solving Using Application Performance Management 10

38 © 2015 CA. ALL RIGHTS RESERVED.@CAWORLD #CAWORLD

For More Information

To learn more, please visit:

http://cainc.to/Nv2VOe

CA World ’15