Zing Vision. Answering your toughest production Java performance questions



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

NetBeans Profiler is an

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

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

<Insert Picture Here> Java Application Diagnostic Expert

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

Introduction. AppDynamics for Databases Version Page 1

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

Instrumentation Software Profiling

Enterprise Manager Performance Tips

Tool - 1: Health Center

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

JBoss Data Grid Performance Study Comparing Java HotSpot to Azul Zing

PTC System Monitor Solution Training

Wait-Time Analysis Method: New Best Practice for Performance Management

What s Cool in the SAP JVM (CON3243)

11.1 inspectit inspectit

Memory Profiling using Visual VM

Oracle JRockit Mission Control Overview

RTI Quick Start Guide for JBoss Operations Network Users

RTI Quick Start Guide

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

Basics of VTune Performance Analyzer. Intel Software College. Objectives. VTune Performance Analyzer. Agenda

IBM Software Group. SW5706 JVM Tools IBM Corporation 4.0. This presentation will act as an introduction to JVM tools.

Debugging Java performance problems. Ryan Matteson

Rational Application Developer Performance Tips Introduction

Chapter 3 Application Monitors

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

BEAJRockit Mission Control. Using JRockit Mission Control in the Eclipse IDE

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

IBM SDK, Java Technology Edition Version 1. IBM JVM messages IBM

Java Troubleshooting and Performance

Top Down Performance Management with OEM Grid Control Or How I learned to stop worrying and love OEM Grid Control John Darrah, DBAK

Server Monitoring. AppDynamics Pro Documentation. Version Page 1

Practical Performance Understanding the Performance of Your Application

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

Determine the process of extracting monitoring information in Sun ONE Application Server

How to use IBM HeapAnalyzer to diagnose Java heap issues

Monitoring Agent for Microsoft.NET Version Reference IBM

IBM Tivoli Composite Application Manager for WebSphere

THE BUSY DEVELOPER'S GUIDE TO JVM TROUBLESHOOTING

TDA - Thread Dump Analyzer

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

General Introduction

Delivering Quality in Software Performance and Scalability Testing

Oracle WebLogic Thread Pool Tuning

Chapter 3 Operating-System Structures

Chapter 2 System Structures

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

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

Monitoring and Managing a JVM

HeapStats: Your Dependable Helper for Java Applications, from Development to Operation

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

Java VM monitoring and the Health Center API. William Smith

SAP HANA SPS 09 - What s New? Administration & Monitoring

JProfiler: Code Coverage Analysis Tool for OMP Project

Understanding Java Garbage Collection

Oracle Corporation Proprietary and Confidential

Example of Standard API

Profiling and Testing with Test and Performance Tools Platform (TPTP)

Java and Real Time Storage Applications

HP Diagnostics. Java Agent Guide. For the Windows, Solaris and Linux operating systems. Software Version: Document Release Date: May 2014

Cloud Operating Systems for Servers

2015 ej-technologies GmbH. All rights reserved. JProfiler Manual

Oracle WebLogic Server Monitoring and Performance Tuning

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

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

ELEC 377. Operating Systems. Week 1 Class 3

Java Mission Control

ColdFusion 8. Performance Tuning, Multi-Instance Management and Clustering. Sven Ramuschkat MAX 2008 Milan

Apache and Tomcat Clustering Configuration Table of Contents

Holistic Performance Analysis of J2EE Applications

Multi-core Programming System Overview

IBM Tivoli Composite Application Manager for WebSphere

Performance Management for Cloudbased STC 2012

Web Performance, Inc. Testing Services Sample Performance Analysis

Mobile Performance Management Tools Prasanna Gawade, Infosys April 2014

TECHNOLOGY WHITE PAPER. Application Performance Management. Introduction to Adaptive Instrumentation with VERITAS Indepth for J2EE

Transaction Performance Maximizer InterMax

IBM Tivoli Monitoring Version 6.3 Fix Pack 2. Infrastructure Management Dashboards for Servers Reference

Azul's Zulu JVM could prove an awkward challenge to Oracle's Java ambitions

Identifying Problematic SQL in Sybase ASE. Abstract. Introduction

Java Performance Tuning

CSE 403. Performance Profiling Marty Stepp

Chapter 14 Virtual Machines

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

Debug 101-Using ISA Tools for Apps in WebSphere Application Server z/os

Performance Improvement In Java Application

Oracle Communications WebRTC Session Controller: Basic Admin. Student Guide

Tutorial: Load Testing with CLIF

Java in Virtual Machines on VMware ESX: Best Practices

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Eclipse Visualization and Performance Monitoring

Understand Performance Monitoring

Garbage Collection in NonStop Server for Java

Transcription:

Zing Vision Answering your toughest production Java performance questions

Outline What is Zing Vision? Where does Zing Vision fit in your Java environment? Key features How it works Using ZVRobot Q & A 2014 Azul Systems Inc. 2

What is Zing Vision? Zing Vision is a browser-based, visual window into the Zing VM Hyperlinked display provides drill-down to root cause Both JVM internal and Java program information No additional performance overhead Nothing special to install or configure Easy to get started as a user ZVRobot collects and stores monitoring data Collected data is same as ZVision! 2014 Azul Systems Inc. 3

Example Zing Vision deployment HTTP Zing Vision (Web browser) Linux host zvision server HTTP Zing VM 2014 Azul Systems Inc. 4

Fitting in: Production focus Most tools suitable for developers, but too heavy for production Use JVMTI (JVM Tools Interface) and BCI (Byte Code Instrumentation) High overhead, so must be used carefully in production May require configuration to lower the overhead Not practical for Operations teams Zing Vision is designed for safe use on production systems Ideal diagnostic tool to use when you know you have a problem in production ( a flashlight in a dark place ) Integrated with the JVM, so it won t add overhead or perturb the running Java program It s meant to be used - click on items in the web UI to explore! 2014 Azul Systems Inc. 5

Key features Tick profiler Thread-level views Lock contention view Garbage collection views Java heap object views Live objects Object types that increase in number as application runs 2014 Azul Systems Inc. 6

Tick Profiler: Find hot code Goal: Determine what code is hot (consuming most CPU time) Approach used by other profiling tools: Method tracing Byte code instrumentation heavy weight Solution: Profile only a user-selected portion of the application Drawback: You need to know the location in the code where the performance bottleneck occurs to select the area of the code to profile! 2014 Azul Systems Inc. 7

Tick Profiler: Find hot code Zing Vision uses runtime thread sampling: Fast snapshots of the code running in executing Java threads Identifies where the work is done in the application Lightweight, low overhead Always on Even when you re not looking at the generated metrics Instruction-level granularity JVM internal threads, too! Detailed information about the entire process Interpretation sometimes requires understanding of the JVM runtime 2014 Azul Systems Inc. 8

Tick Profiler: How it works 1. Thread registers SIG61 signal handler with kernel at intervals 1 ms (1000 times per second, configurable) 2. Thread runs 3. Kernel delivers SIG61 4. Thread is interrupted on its normal stack 5. Signal handler runs, creates a new (youngest) profile 6. Zing Vision aggregates all of the profiles on the belt in the Timer Tick Profile view Youngest profile added Oldest profile drops off (into the trash) Tick profile conveyor belt has a fixed number of positions for profiles. Note that the conveyor belt only moves when a new profile is added! This means Zing Vision always shows the most recent data. 2014 Azul Systems Inc. 9

Tick Profiler: Where is work done? 2014 Azul Systems Inc. 10

Tick Profiler: Where is work done? Filters Collection controllers Select link to see details 2014 Azul Systems Inc. 11

Tick Profiler: Work at instruction level Callee Caller Ticks for each instruction C2 compiled JDK and application code 2014 Azul Systems Inc. 12

Tick Profiler: How did I get here? 2014 Azul Systems Inc. 13

Tick Profiler: How did I get here? Sorted based on highest CPU consumers 0 com.sun.tools.javac.util.name.fromutf Top of stack Top of stack 2014 Azul Systems Inc. 14

Thread-level questions What threads are executing my application? What are the housekeeping threads for the JVM? Can I examine a thread object? What are the threads doing? Profiling information Stack traces Where is my application stalled? 2014 Azul Systems Inc. 15

Thread-level views: Standard method Thread number: 1 2 3 4 5 Request thread stacks (kill -3) Some threads blocked NO work done Thread 3 continues to run! Time Last thread stopped O(numThreads) delay application visible work stoppage Resume threads 2014 Azul Systems Inc. 16

Thread-level views: Zing Vision method Thread number: 1 2 3 4 5 Request thread stacks (ZVision) Each thread: 1. Stopped individually 2. Delay order is O(1) Time No thread waits for any other thread to stop! The application never perceives a work stoppage because N-1 threads continue to run at all times Resume each thread seamlessly Pro: Safe to use in production (guilt-free clicking) Con: Not 100% consistent (especially for lock data) 2014 Azul Systems Inc. 17

Thread-level view: Application threads Filters and control Select link to see stack Individual thread stack trace and tick profile access 2014 Azul Systems Inc. 18

Thread-level view: Thread stack trace Stack frames Thread CPU time consumed Select link to see details 2014 Azul Systems Inc. 19

Thread-level view: Thread object details Values of the object s fields 2014 Azul Systems Inc. 20

Thread-level view: Application threads Filters and control Select link to see profile Individual thread stack trace and tick profile access 2014 Azul Systems Inc. 21

Thread-level: Where is the work done? Thread 8120 2014 Azul Systems Inc. 22

Lock contention: Where is my app stalled? Lock acquisition Total and Max times Blocking count Select link to see details 2014 Azul Systems Inc. 23

Lock contention: Where is my app stalled? How did I get to the contended lock in my code? Summary metrics 2014 Azul Systems Inc. 24

Memory: Answering your questions What s the collector doing? How much memory is the application using? What type of objects are in the heap? What s keeping those objects live? What object types are increasing in number? 2014 Azul Systems Inc. 25

Memory: Resource use summary Java heap overview Process Zing memory use Linux memory 2014 Azul Systems Inc. 26

Memory: Collection details Collection details 2014 Azul Systems Inc. 27

Memory: Collection details summary Detailed summary calculating metric averages 2014 Azul Systems Inc. 28

Memory: What objects are in the heap? Objects in Old Generation Default sorting: Sum of size of each object of that type Expand to see types with references to objects of that type 2014 Azul Systems Inc. 29

Memory: Which object type is growing? Object types with increasing memory consumption in the Old Generation Selectable time interval Growth rate 2014 Azul Systems Inc. 30

Example ZVRobot deployment Linux host Write a file for each Zing Vision web page at each sample period (for example, every 1 minute) into a directory ZVRobot HTTP Linux host Zing VM Use a web browser to look at the saved snapshot files anytime after program has run or even during collection 2014 Azul Systems Inc. 31

How to Try Zing Vision - Free Request a trial copy of Zing http://www.azulsystems.com/trial Download and run Azul Inspector to check your system Download and install Zing Zing Vision and ZVRobot are included Run your application Observe your application and the JVM s activity using Zing Vision 2014 Azul Systems Inc. 32

Questions? Zing Vision providing answers to your Java performance questions Tick profiler Thread-level views Lock contention view Garbage collection views Java heap object views Live objects Object types that increase in number as application runs 2014 Azul Systems Inc. 33