Advanced Performance Forensics



Similar documents
Java Monitoring. Stuff You Can Get For Free (And Stuff You Can t) Paul Jasek Sales Engineer

Practical Performance Understanding the Performance of Your Application

Tool - 1: Health Center

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

Justin Bruns, Performance Test Lead, Fireman's Fund Insurance Robert May, Enterprise Software Tools Administrator Fireman's Fund Insurance

An Oracle White Paper September Advanced Java Diagnostics and Monitoring Without Performance Overhead

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING

Oracle Database 12c: Performance Management and Tuning NEW

Response Time Analysis

Holistic Performance Analysis of J2EE Applications

How To Improve Performance On An Asa 9.4 Web Application Server (For Advanced Users)

Performance Monitoring and Tuning. Liferay Chicago User Group (LCHIUG) James Lefeu 29AUG2013

Module 15: Monitoring

Blackboard Learn TM, Release 9 Technology Architecture. John Fontaine

How To Use Java On An Ipa (Jspa) With A Microsoft Powerbook (Jempa) With An Ipad And A Microos 2.5 (Microos)

WebSphere Architect (Performance and Monitoring) 2011 IBM Corporation

Java Performance. Adrian Dozsa TM-JUG

Effective Java Programming. measurement as the basis

Oracle JRockit Mission Control Overview

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies

Response Time Analysis

SQL Sentry Essentials

JVM Performance Study Comparing Oracle HotSpot and Azul Zing Using Apache Cassandra

Monitoring applications in multitier environment. Uroš Majcen A New View on Application Management.

ArcGIS for Server Performance and Scalability-Testing and Monitoring Tools. Amr Wahba

Oracle Corporation Proprietary and Confidential

Monitor and Manage Your MicroStrategy BI Environment Using Enterprise Manager and Health Center

Trace-Based and Sample-Based Profiling in Rational Application Developer

Response Time Analysis

Java Performance Tuning

Transaction Performance Maximizer InterMax

Oracle Enterprise Manager 12c New Capabilities for the DBA. Charlie Garry, Director, Product Management Oracle Server Technologies

ArcGIS Server Performance and Scalability Testing Methodologies. Andrew Sakowicz, Frank Pizzi

Product Review: James F. Koopmann Pine Horse, Inc. Quest Software s Foglight Performance Analysis for Oracle

Performance And Scalability In Oracle9i And SQL Server 2000

The Complete Performance Solution for Microsoft SQL Server

Oracle Enterprise Manager 13c Cloud Control

Performance rule violations usually result in increased CPU or I/O, time to fix the mistake, and ultimately, a cost to the business unit.

IBM Tivoli Composite Application Manager for WebSphere

System Requirements Table of contents

A Practical Method to Diagnose Memory Leaks in Java Application Alan Yu

1. This lesson introduces the Performance Tuning course objectives and agenda

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

How To Manage An Sap Solution

University of Southern California Shibboleth High Availability with Terracotta

WAIT-TIME ANALYSIS METHOD: NEW BEST PRACTICE FOR APPLICATION PERFORMANCE MANAGEMENT

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

<Insert Picture Here> Java Application Diagnostic Expert

Understanding Server Configuration Parameters and Their Effect on Server Statistics

Oracle Database 11g: Performance Tuning DBA Release 2

Performance Best Practices Guide for SAP NetWeaver Portal 7.3

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

Holly Cummins IBM Hursley Labs. Java performance not so scary after all

Monitoring HP OO 10. Overview. Available Tools. HP OO Community Guides

Whitepaper ADF Performance Monitor Measuring, Analyzing, Tuning, and Controlling the Performance of Oracle ADF Applications

Top 10 Performance Tips for OBI-EE

TDA - Thread Dump Analyzer

Mission-Critical Java. An Oracle White Paper Updated October 2008

Garbage Collection in the Java HotSpot Virtual Machine

Put a Firewall in Your JVM Securing Java Applications!

Basic Tuning Tools Monitoring tools overview Enterprise Manager V$ Views, Statistics and Metrics Wait Events

IBM Support Assistant v5. Review and hands-on by Joseph

An Oracle White Paper July Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

Transitioning from a Physical to Virtual Production Environment. Ryan Miller Middle Tennessee Electric Membership Corp

ArcGIS Server Performance and Scalability Optimization and Testing. Andrew Sakowicz

Optimizing Your Database Performance the Easy Way

11.1 inspectit inspectit

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Enterprise Manager Performance Tips

JBoss Cookbook: Secret Recipes. David Chia Senior TAM, JBoss May 5 th 2011

Introduction. Part I: Finding Bottlenecks when Something s Wrong. Chapter 1: Performance Tuning 3

MID-TIER DEPLOYMENT KB

Business Application Services Testing

Objectif. Participant. Prérequis. Pédagogie. Oracle Database 11g - Performance Tuning DBA Release 2. 5 Jours [35 Heures]

An Oracle White Paper September, Enterprise Manager 12c Cloud Control: Monitoring and Managing Oracle Coherence for High Performance

Extending Your Use of Extended Events

Java Debugging Ľuboš Koščo

MySQL Enterprise Monitor

Monitoring and Diagnosing Production Applications Using Oracle Application Diagnostics for Java. An Oracle White Paper December 2007

How to analyse your system to optimise performance and throughput in IIBv9

A Performance Engineering Story

Transaction Monitoring Version for AIX, Linux, and Windows. Reference IBM

Maintaining Non-Stop Services with Multi Layer Monitoring

WEBLOGIC ADMINISTRATION

Guerrilla Warfare? Guerrilla Tactics - Performance Testing MS SQL Server Applications

PeopleSoft Online Performance Guidelines

PTC System Monitor Solution Training

Users are Complaining that the System is Slow What Should I Do Now? Part 1

WebSphere Performance Monitoring & Tuning For Webtop Version 5.3 on WebSphere 5.1.x

What s Cool in the SAP JVM (CON3243)


Oracle Database 12c: Performance Management and Tuning NEW

Agility Database Scalability Testing

Contents Introduction... 5 Deployment Considerations... 9 Deployment Architectures... 11

Noelle A. Stimely Senior Performance Test Engineer. University of California, San Francisco

Tomcat Tuning. Mark Thomas April 2009

SQL Server Performance Tuning and Optimization

Transcription:

Advanced Performance Forensics Uncovering the Mysteries of Performance and Scalability Incidents through Forensic Engineering Stephen Feldman Senior Director Performance Engineering and Architecture stephen.feldman@blackboard.com

Sessions Goals The goals of today s session are Introduce the practice of performance forensics. Present an argument for session level analysis. Discuss the difference between Resources and Interfaces. Present tools that can be used for performance forensics at different layers of the architectural stack and the client layer.

Definition of Performance Forensics The practice of collecting evidence, performing interviews and modeling for the purpose of root cause analysis of a performance or scalability problem. In context of a performance (response time problem) Discussing an individual event (session experience) Performance problems can be classified in two main categories: Response Time Latency Queuing Latency

Performance Forensics Methodology Identify the Problem Develop a Problem Statement Identify the Most Important Operations that Affect Your Business Interviewing Collecting Evidence Formulate a Hypothesis Data Analysis Establish a Diagnosis Modeling and Visualizing Sampling and Simulating Perform Session Inspection Method-R Turn the Problem Statement into a Diagnosis to Get to Root Cause Root Cause

Putting Performance Forensics in Context Emphasis on the user and the user s actions and experiences. How can this be measured? Capture the response time experience and the response time expectations of the user. Put into perspective user action in-line with the goals of Method-R (what s most important to the business) Identify the contributors of response latency Everyone needs to be involved

Measuring the Session When should this happen? When a problem statement cannot be developed from the data you do have (evidence or interviews) and more data needs to be collected. How should you go about this? Want to minimize disruption to the production environment. Adaptive collection: Less Intensive to More Intensive over time. Basic Sampling Continuous Collection Profiling

Resources vs. Interfaces One of the most critical data points to collect Interfaces are critical for understanding throughput and queuing models. Queuing is another cause of latency Also a cause of time-outs Resources are critical for understanding the cost of performing a transaction. Core Resources: CPU, Memory and I/O Response Time = Service Time + Queue Time

The Importance of Wait Events Rise of Session Level Forensics Underlying theme with all of these tools that Session is more important then System Wait event tuning used to account for latency Exists in SQL Server (Waits and Queues) and Oracle (10046) Other components not mature enough to represent Waits are statistical explanations of latency Each individual wait event might be deceiving, but looking at both aggregates and outliers can explain why a performance problem exists. When sampling directly, usually only have about 1 hour to act on the data.

Performance Forensics Tools

Categories of Tools HTTP and User Experience JVM Instrumentation Tools Database Instrumentation Session and Wait Event Cost Execution Plans Profilers

Breaking Down Latency

Fiddler2 Fiddler 2 measures end-to-end client responsiveness of a web request. Little to no overhead (less intrusive forensics) Captures requests in order to present http codes, size of objects, sequence of loading, time to process request, performance by bandwidth speed. Rough estimation of User Experience based on locality. Inspects every detail of the http request Detailed session inspection Breakdown of http transformation Other Tools in Category: Y-slow/Firebug, Charlesproxy, livehttpheaders and IEInspector

Coradiant Truesight Commercial tool used for passive user experience monitoring. Captures page, object and session level data. Capable of defining Service Level Thresholds and Automatic Incident Management. Used to trace back session as if you were watching over the user s shoulder. Exceptional tool for trend analysis. (Less Intrusive) Primarily used in forensics as evidence for analysis. Other Tools in the Category: Quest User Experience and Citrix EdgeSight

Coradiant Truesight

Coradiant Truesight

Log Analyzers Both commercial and open source tools are available to parse and analyze http access logs. Provides trend data, client statistical data, http summary information. Recommend using this data to study request and bandwidth trends for correlation purposes with resource utilization graphs. Such a large volume of data. Recommend working within small time slices Post-processing tool (No Impact to Application) Examples: Urchin, Summary, WebTrends, SawMill, Surfstats and AlterWind Log Analyzer

JSTAT Low intrusive statistic collector that provides Percentages of usage by each region Frequency/Counts of collections Time spent in pause state Can be invoked any time without restarting the JVM by obtaining the Process ID Exception is on Windows when the JVM is run as a background service Critical for understanding windows of stall times between sampling Assume you collect every 5 seconds and observe a 3 second pause time Means the application could only work for 2 seconds

JSTAT

Process of Garbage Collection

Process of Garbage Collection

-VerboseGC and -Xloggc JVM flags that invoke JVM logging Verbose JVM logging is a low-overhead collector (less intrusive measurement) Requires a restart of the instance to run -XX:+PrintGCDetails is a recommended setting to be used with: -XX:+PrintGCApplicationConcurrentTime -XX:+PrintGCApplicationStoppedTime Provides aggregate statistics about Pause Times versus Working Times.

-VerboseGC and -Xloggc

IBM Pattern Modeling Tool for Java GC Post processing tool used for visualizing a VerboseGC or Xloggc file. Can make the analysis efforts for analyzing a log file substantially easier. Represents pauses/stalls at particular times Has no affect on the application environment as it reads a log file that is dormant.

IBM Pattern Modeling Tool for Java GC

JHAT, JMAP and SAP Memory Analyzer Jhat: Java Heap Analysis Tool takes a heap dump and parses the data into useful and human-digestible information about what's in the JVM's memory. JMap: Java Memory Map is a JVM tool that provides information about what is in the heap at a given time. Provides text and OQL views into JHat data SAP Memory Analyzer will visualize the JHat output Should be run when a problem is occurring right now When the system is unresponsive When the JVM runs into continuous collections

ASH ASH: Active Session History Samples session activity in the system every second. 1 hour of history in memory for immediate access at your fingertips ASH in Memory Collects active session data only History v$session_wait + v$session + extras Circular Buffer - 1M to 128M (~2% of SGA) Flushed every hour to disk or when buffer 2/3 full (it protects itself so you can relax) Tools to Consider: SessPack and SessSnaper

SQL Server Performance Dashboard Feature of SQL Server 2005 SP2 Template report that take advantage of DMVs Provides views into wait events Doesn t link events to SQL IDs in the report Provides aggregate views of wait events Session Level DMVs (sys.dm_os_wait_stats and sys.dm_exec_sessions) Complimentary Tools: SQL Server Health and History Tool and Quest Spotlight for SQL Server

Importance of Cost Execution Plans Can be run on databases with low overhead Do not need the literal values to run Both SQL Server and Oracle can run Estimated Cost Plans Each database uses an Optimizer that determines the best path of execution of SQL Calculates IO, CPU and Number of Executes (Loop Conditions) Understanding cost operations on a particular object can help change your tuning strategy (ex: TABLE ACCESS BY INDEX ROWID) Cost is time Query cost refers to the estimated elapsed time, in seconds, required to complete a query on a specific hardware configuration.

RML and Profiler The RML utilities process SQL Server trace files and view reports showing how SQL Server is performing. Which application, database or login is using the most resources, and which queries are responsible for that. Whether there were any plan changes for a batch during the time when the trace was captured and how each of those plans performed. What queries are running slower in today's data compared to a previous set of data Profiler captures statements, query counts/statistics, wait events Can capture and correlate profile data to Perfmon data Heavy overhead with both Other Tools to Consider: Quest Performance Analysis for SQL Server

Oracle OEM and 10046 Oracle finally delivered with OEM with a web-based interface. Performance dashboard provides great historical and present overview Access to ADDM and ASH simplifies job of DBA SQL History Problems licensing somewhat cost prohibitive Still doesn t provide wait events For 10046 still need to consider profiling on your own and using a profiler reader like Hotsos P4. Difficult to trace and capture sessions

Want More? Check-out my blog for postings of the presentation: http://sevenseconds.wordpress.com To view my resources and references for this presentation, visit www.scholar.com Simply click Advanced Search and search by sfeldman@blackboard.com and tag: bbworld08 or forensics