40
Managing Java Applications @AloisReitbauer

Monitoring and Managing Java Applications

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Monitoring and Managing Java Applications

Managing Java Applications@AloisReitbauer

Page 2: Monitoring and Managing Java Applications

3

Page 3: Monitoring and Managing Java Applications
Page 4: Monitoring and Managing Java Applications

DevOps to the rescue?

Page 5: Monitoring and Managing Java Applications

Don’t just build software that runs

Page 6: Monitoring and Managing Java Applications

Build software that somebody else can

run

Page 7: Monitoring and Managing Java Applications

What is performance and how do we

measure it?

Page 8: Monitoring and Managing Java Applications

How we define Performance

• Response TimeThe time it takes for an application to respond to a user request.

• ThroughputThe amount of concurrently processed request in a given time period. e.g.: requests/minute.

• AvailabilityStatus of our systems. Are they up and running for us and our users?

• AccuracyIs the response what the user actually expected? Are there any errors

Page 9: Monitoring and Managing Java Applications

Performance Pyramid

Business

System Performance

Container

Application

Page 10: Monitoring and Managing Java Applications

• Cyclic Measurements– Are collected ar regular time intervals

– Are time based– JMX, CPU, Memory

• Event-based measurements– Are collected as a request occurs– Are transactional

– Response Times, CPU consumption

Types of Measurement

Page 11: Monitoring and Managing Java Applications

Blind Men and Elephants again

Page 12: Monitoring and Managing Java Applications

A: Our response time is 2.3 secondsB: Our response time is 1.5 secondsC: Our response time is 6 seconds

How can this happen?

Page 13: Monitoring and Managing Java Applications

Measurement Aggregation

• Minimum and MaximumThe best and the worst request. Beware of outliers.

• AverageSum/Count. Uses in many cases. Quality depends on actual values.

• MedianWhat 50 percent of our users see.

• PercentileWhat n percent of our users see.

Page 14: Monitoring and Managing Java Applications

Use percentiles for event-based

measures

Page 15: Monitoring and Managing Java Applications

Use averages for cyclical measures

Page 16: Monitoring and Managing Java Applications

Browser FirewallNetworkSniffer Web Server Application

Server

Page Load Time HTTP Request Time

Request Time (max)

95 % Servlet Time

Agree on Measurement Approach

Page 17: Monitoring and Managing Java Applications

System and Container Metrics

Page 18: Monitoring and Managing Java Applications

Time-Based vs. Event-Based Measurement

Page 19: Monitoring and Managing Java Applications

Transactional Measurement

Page 20: Monitoring and Managing Java Applications

Transaction Flow Visualization

Page 21: Monitoring and Managing Java Applications

Focus on a specific transaction

Page 22: Monitoring and Managing Java Applications

Visual Problem Identification

Page 23: Monitoring and Managing Java Applications

How do we manage performance and solve problems?

Page 24: Monitoring and Managing Java Applications

Types of Problems

• Data-Driven ProblemsProblems which occur for specific users, scenarios and which depend on (input) parameters e.g.: a search query

• Load Driven ProblemsProblems which depend on the current system load. Usually occur at higher load. In most cases resource dependent. e.g.: increased response time with more users.

• Environment Driven Problems

Problems caused by factors outside the application. e.g.: hardware, network connectivity, etc.

Page 25: Monitoring and Managing Java Applications

Operations Main Tasks

• MonitoringCollect all relevant KPIs and check against SLAs and baselines?

• Alerting/Incident ManagementInform ops about problems

• Impact Analysis

Analyze the impact of issues. Who is affected?• Isolation

What is the cause of a problem and who must I talk to?• Diagnosis

Why is there a problem and how can we fix it?

Page 26: Monitoring and Managing Java Applications

Key Performance Indicators/Metrics

• Visitors and RequestsHow many people are using our site?

• Response TimesHow fast do we service requests.?

• Errors and Failed TransactionsHow many problems do we see and how often do they affect functionality?

• AvailabilityCan our systems currently be reached?

• Utilization Metrics

Do we have enough resources and are we using them efficiently?

Page 27: Monitoring and Managing Java Applications

… and in the real world?

Page 28: Monitoring and Managing Java Applications

Large-scale shopping platform

Page 29: Monitoring and Managing Java Applications

Performance Pyramid

Business

System Performance

Container

Application

Page 30: Monitoring and Managing Java Applications

System/Container Performance

Page 31: Monitoring and Managing Java Applications

Technical Response Time View

Page 32: Monitoring and Managing Java Applications

Page Category Performance

Page 33: Monitoring and Managing Java Applications

Performance of Key Transactions

Page 34: Monitoring and Managing Java Applications

Business View wit Performance Data

Page 35: Monitoring and Managing Java Applications

You can do even more (aka. Goodies)

Page 36: Monitoring and Managing Java Applications

Page Error Tracking

Page 37: Monitoring and Managing Java Applications

Third Party Management

Page 38: Monitoring and Managing Java Applications

Amazon EC2 Cost Monitoring

Page 39: Monitoring and Managing Java Applications

Alois Reitbauer@AloisReitbauer

http://book.dynatrace.comhttp://blog.dynatrace.com

Thank you

Page 40: Monitoring and Managing Java Applications

© 2011 Compuware Corporation — All Rights Reserved

41