Death to the Java Profiler

Slides:



Advertisements
Similar presentations
© Leaf Solutions, LLC. All Rights Reserved What’s New in Everett Microsoft.Net V1.1.
Advertisements

IPv4 to IPv6 Migration strategies. What is IPv4  Second revision in development of internet protocol  First version to be widely implied.  Connection.
Research Notes Tool Chuck Connell, Tufts Univ.. Tufts University Computer Science22 Two Research Problems References… Many types – books, articles, web.
INTERNET INFORMATION ACCESS How to avoid and eliminate common problems confronting usage of modern resources to access the Internet.
Chapter 5: Common Support Problems
10/10/14 INASP: Effective Network Management Workshops Unit 6: Solving Network Problems.
NUMA Tuning for Java Server Applications Mustafa M. Tikir.
APC Issue Tracking Introduction and Tour of APC’s JIRA Issue Tracker.
Performance Concepts and Methodologies SSE USTC Qing Ding.
CSSE 533 – Database Systems Week 1, Day 1 Steve Chenoweth CSSE Dept.
Introduction to Java Programming. Contents 1. Java, etc. 2. Java's Advantages 3. Java's Disadvantages 4. Types of Java Code 5. Java Bytecodes 6. Steps.
What a Student with Learning Difficulties Might Say Things to look for in your conversations with students. You can learn a lot about a student from the.
Mr C Johnston ICT Teacher
Semester 1, 2003 Week 7 CSE9020 / 1 Software Testing and Quality Assurance With thanks to Shonali Krishnaswamy and Sylvia Tucker.
Multiplicity – Progress Data Replication Methodologies.
1 Guide to Novell NetWare 6.0 Network Administration Chapter 13.
Actuarial Shareware Stephen Mildenhall
By Anthony W. Hill & Course Technology1 Common End User Problems.
Title Title Name Reg.No Name of the company Guide-Faculty Industry.
Www. MasterOfThings. com Application Enablement Platform with a visual IDE.
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Programming Languages: Scratch Intro to Scratch. Lower level versus high level Clearly, lower level languages can be tedious Higher level languages quickly.
RSS Feeds How to Automatically Get or Distribute Content.
EGEE-III INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks perfSONAR deployment over Spanish LHC Tier.
Eric Roberts Professor of Computer Science Stanford University Google Atlanta October 1, 2010 Converting Java into JavaScript.
Computing Infrastructure for Large Ecommerce Systems -- based on material written by Jacob Lindeman.
4 ½ million new homes but where to put them? Lesson Coverage 1 General intro to the paper and resource booklet. Resource 1. 2Resource 2 3Resources 3-4.
Intro to Java. Day 1 History Installing Eclipse Sample “Hello” program Packages/Classes/Etc…
Digital Media SM1001 Digital Media, Semester A School of Creative Media © Week 07, 2010.
Garbage Collection and Classloading Java Garbage Collectors  Eden Space  Surviver Space  Tenured Gen  Perm Gen  Garbage Collection Notes Classloading.
Internet Essentials. The History of the Internet The Internet started when the Advanced Research Projects Agency (ARPA) of the United States Defense Department.
PERFORMANCE AND ANALYSIS WORKFLOW ISSUES US ATLAS Distributed Facility Workshop November 2012, Santa Cruz.
IT1001 – Personal Computer Hardware & System Operations Week 6 - Introduction to software installation.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
Proxy Pattern. What’s a Proxy? A remote proxy acts as a local representative of a remote object Remote Object: instantiated in a different JVM heap (a.
APA Cover Page Dr. Gustafson. What is a Cover Page? APA Manual 6 th Edition – See Manuscript Elements A cover page is the first page of your.
Troubleshooting Workflow 8 Raymond Cruz, Software Support Engineer.
Profile, HAT, Wireless Toolkit’s Profile Sookmyung Women’s Univ. PSLAB Choi yoonjeong.
Introduction of Wget. Wget Wget is a package for retrieving files using HTTP and FTP, the most widely-used Internet protocols. Wget is non-interactive,
25/09/2016 INASP: Effective Network Management Workshops Unit 6: Solving Network Problems.
Writing.
UC Pro Troubleshooting Guide
Introduction Adult website business is very big and it has loads of cash. You cannot imagine how much a single famous porn site makes a day. There are.
Objective % Select and utilize tools to design and develop websites.
Warren Block Thinking about Installers: Discord and Happiness.
Netscape Application Server
Onsite SEO + Site Speed = Better Results
Lesson 4: Web Browsing.
Machines In our Garden.
1. Environment Setting Minhaeng Lee.
Load Balancing: List Scheduling
Objective % Select and utilize tools to design and develop websites.
Bomgar Remote support software
Find and Fix Memory Leaks in Windows 10/8/7
Apple TV Error. Check Here.
Volume Licensing Download Center
.NET Debugging for the Production Environment
TRUST KEY (DONGLE / PEN DRIVE)
Linked List Intro CSCE 121 J. Michael Moore.
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
A Developers Perspective
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
TrueSTEAM™ Humidification Systems
Revision of Simple troubleshooting
Lesson 4: Web Browsing.
java architect lead performance engineer FIS Global @EOstermueller
Pre Ap World geography Intro and Physical geography unit
Load Balancing: List Scheduling
Heaps Chapter 10 has several programming projects, including a project that uses heaps. This presentation shows you what a heap is, and demonstrates two.
Java Virtual Machine Profiling. Agenda Introduction JVM overview Performance concepts Monitoring Profiling VisualVM demo Tuning Conclusions.
Presentation transcript:

Death to the Java Profiler How to make Java really fast.

Intro Start install of https://github.com/eostermueller/performanceGolf/wiki/Install-and-Run What is healthy response time of 3 Threads of load Zero think time Java → TCP → Java ...where both Java’s are on the same machine?

The Problem healthcare.gov-ish performance Multi-second response time

Methodology ….home pages of the major hotel sites from the ten largest U.S. metropolitan areas on high-speed links attached to key points on the largest U.S. Internet Service Provider (ISP) backbones. http://www.keynote.com/performance-indexes/lodging-us

The Dream The latest version: https://github.com/mybatis/jpetstore-6

JPetStore is Old School Performance Fast before: Before the LMAX Disruptor (Martin Thompson) Before the http://www.reactivemanifesto.org/ Name your performance technology du jour. Just plain old java is required.

Obstacles Lack of Visibility / Tools The right monitoring is Expensive Only available in some environments Lack of Expertise Only a small % of Java developers have the expertise Mindset “Premature Optimization is the root of…..”

A Story and a Demo

Manual Call Stack Sampling Apply load Take about 4 dumps, a few seconds between each dump. if you see a particular something that you could fix…. ...and it shows up on two+ stacktraces, ones that are actually under load, ...then it is worth fixing.

Manual Call Stack Sampling Three Books, two of them have been read Partial Endorsement: Java Performance, The Definitive Guide Scott Oaks Partial Endorsement: Java Performance, Charlie Hunt Full Endorsement: Building Better Applications, Michael Dunlavey mathematical explanation

Less is More I’m not suggesting to learn more about trouble shooting Java monitors/locks ...although that’s not a bad idea.

Less is More Limit what you look at in the thread dump. Less. Production: Only consider threads in your package space Test: Same, but also Only 3 threads of load Every SOA-service-sized component (or larger) must be load tested during development

Obstacles - Revisited Lack of Visibility / Tools Use plug-it-in-now tools for all JVMs running in your world Lack of Expertise Need a “Starting Point” -- a curriculum, the book I’m working on: Working title: JVM Performance Troubleshooting Mindset ...that remains to be seen.

The End Erik Ostermueller @eostermueller eostermueller@gmail.com