Monitoring and Managing Java Applications

Preview:

DESCRIPTION

 

Citation preview

Managing Java Applications@AloisReitbauer

3

DevOps to the rescue?

Don’t just build software that runs

Build software that somebody else can

run

What is performance and how do we

measure it?

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

Performance Pyramid

Business

System Performance

Container

Application

• 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

Blind Men and Elephants again

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?

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.

Use percentiles for event-based

measures

Use averages for cyclical measures

Browser FirewallNetworkSniffer Web Server Application

Server

Page Load Time HTTP Request Time

Request Time (max)

95 % Servlet Time

Agree on Measurement Approach

System and Container Metrics

Time-Based vs. Event-Based Measurement

Transactional Measurement

Transaction Flow Visualization

Focus on a specific transaction

Visual Problem Identification

How do we manage performance and solve problems?

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.

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?

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?

… and in the real world?

Large-scale shopping platform

Performance Pyramid

Business

System Performance

Container

Application

System/Container Performance

Technical Response Time View

Page Category Performance

Performance of Key Transactions

Business View wit Performance Data

You can do even more (aka. Goodies)

Page Error Tracking

Third Party Management

Amazon EC2 Cost Monitoring

Alois Reitbauer@AloisReitbauer

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

Thank you

© 2011 Compuware Corporation — All Rights Reserved

41

Recommended