monitoring and managing java applications
Post on 22-Nov-2014
1.376 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
top related