Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1 of 17

The Developers Guide to Understanding Performance Problems

9

Share

Download to read offline

This is a preview slideshow of a RebelLabs report:
The Developers Guide to Understanding Performance Problems

Which Java performance tools are you going to use in your next project and why would you choose one over the other? There are many aspect which may sway your decision and of course it will depend on the details of application you’re building. This report covers typical Java performance considerations, monitoring and application performance management tools, Java profilers, and common performance testing libraries.

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

The Developers Guide to Understanding Performance Problems

  1. 1. IAll rights reserved. 2015 © ZeroTurnaround Inc. DISCOVERING APPDYNAMICS, NEWRELIC, JAVA MISSION CONTROL, YOURKIT, JPROFILER, XREBEL, JMETER THE DEVELOPER’S GUIDE TO UNDERSTANDING PERFORMANCE PROBLEMS. And many other marvelous tools PREVIEW
  2. 2. IIAll rights reserved. 2015 © ZeroTurnaround Inc. AN INTRODUCTION to Performance Demystifying performance. It's all just data. Java Monitoring Tools Java Profilers Performance Testing Tools Looks great on paper, but does it work? Performance Issues in Action Moving Theory to Practice The Paradox of Choice Summary GOODBYE COMIC and words TABLE OF CONTENTS The Lightweight Java Profiler THIS REPORT IS SPONSORED BY: 2 6 7 20 29 34 35 36 56 57 60
  3. 3. 1 All rights reserved. 2014 © ZeroTurnaround Inc. PERFORMANCE IS 99% ABOUT UNDERSTANDING THE PROBLEMS When trying to pin down the top factors impacting application performance, the right answer is that there is no right answer... the source of a performance problem could be almost anywhere! JULIE CRAIG Research Director, Application Management, Enterprise Management Associates (EMA) That is why you need to perfectly understand your application, its needs and abilities, and feel comfortable using a range of performance related tools:​APMs, profilers, testing libraries that will help you solve the issues you have.
  4. 4. 2All rights reserved. 2015 © ZeroTurnaround Inc. Here’s a small translation of common terms that your manager might use and what they actually mean in real performance terms: In general, almost any question about performance can be postulated in terms of the above mentioned resources and requirements. REAL PERFORMANCE TERMS What Managers say What Managers mean Speed Latency Scalability Throughput Startup time CPU resource consumption RAM footprint or garbage collection Memory resource consumption User-perceived performance Responsiveness and latency
  5. 5. 3All rights reserved. 2015 © ZeroTurnaround Inc. 33 All rights reserved. 2014 © ZeroTurnaround Inc. DEMYSTIFYING PERFORMANCE. IT’S ALL JUST DATA. Gather data, stare at it intensely, then go and fix performance problems. Sounds easy enough. Let’s dig into the variety of tools that help you on this path. When it comes to java performance tools that can help to optimize performance across these areas, most fall into three major categories - Monitoring, Testing and Profiling. Java Profiling and Monitoring both help measure and optimize performance during runtime. Performance testing helps to show where your development efforts were not sympathetic to real life, heavily loaded production environments. In this chapter we’ll look into the tools that are available today, their strengths, the features they offer and also how they find the culprits of any performance issues.
  6. 6. 4All rights reserved. 2015 © ZeroTurnaround Inc. URL: http://www.appdynamics.com/product/application- performance-management/ Cost: [contact sales] AppDynamics is a company with a complex portfolio of application monitoring software: Application Performance management, Mobile Real User monitoring, Database monitoring, Application analytics, etc. AppDynamics takes pride in being able to handle the most complex deployment topologies and weird heterogeneous setups, supporting a range of programming languages like .Net, Python, Ruby, and Java. $$$ Monitor end-to-end business transaction performance within minutes, with no overhead.
  7. 7. 5All rights reserved. 2015 © ZeroTurnaround Inc. URL: http://newrelic.com/application-monitoring Cost: NewRelic is an application monitoring solution that is incredibly easy to install into your environment and immediately gathers valuable information about your system’s health. The monitoring system consists of 2 parts, a javaagent that instruments your application to collect data and the hosted service for analyzing the data and presenting the reports. $$$ Constantly monitoring your applications so you don’t have to
  8. 8. 6All rights reserved. 2015 © ZeroTurnaround Inc. URL: https://plumbr.eu/ Cost: Plumbr is a Java Performance Monitoring tool by the company of the same name, which runs on your JVM process Plumbr monitors​ things such as memory leaks, garbage collection inefficiencies and locked threads. The product has evolved since its first launch, from a dedicated tool that specifically targets memory leaks in a JVM to an overall monitoring tool which you would use 24/7. $$$ Java Performance Monitoring: The only solution with automatic root cause detection
  9. 9. 7All rights reserved. 2015 © ZeroTurnaround Inc. illuminate URL: http://www.jclarity.com/illuminate/ Cost: Illuminate is a Java Performance tool that gathers analytics based on machine learning. Illuminate focuses on the entire environment, searching for bottlenecks that could be affecting system performance. You are also able to enter your SLA data into the tool, so that if you are ever in breach of any of your agreements, Illuminate will be sure to tell you (Before someone else does)! $$$ Goodbye Java/JVM Performance Problems
  10. 10. 8All rights reserved. 2015 © ZeroTurnaround Inc. JAVA MISSION CONTROL URL: http://www.oracle.com/technetwork/java/javaseproducts/ mission-control/index.html Cost: (FREE for development) Java Mission Control is a Java performance monitoring tool by Oracle which has been shipped with the JDK since Java version 7 update 40. It consists of two parts, a​JMX Console and Java Flight Recorder. JMX Console allows you go grab live information directly from the runtime, providing you with the UI to query and change certain aspects of the runtime. The Flight Recorder is more of a history style tool. You can choose to run the flight recorder for an amount of time, which will log data and metrics about the JVM. After this, you can review the data from this period to drill down and diagnose certain performance problems. $$$
  11. 11. 9All rights reserved. 2015 © ZeroTurnaround Inc. URL: https://www.yourkit.com/features/ Cost: The YourKit profiler, by the company of the same name, is one of the most established leaders in the Java profilers category. As a mature and versatile profiler, YourKit can do both CPU and memory profiling for you, with integrations across major Java application servers, JDBC and other frameworks for high-level performance analysis like finding synchronisation issues and excessive database access. $$$ The Industry Leader in .NET & Java Profiling
  12. 12. 10All rights reserved. 2015 © ZeroTurnaround Inc. JPROFILER URL: https://www.ej-technologies.com/products/jprofiler/ overview.html Cost: JProfiler, by ej-technologies GmbH, is one of the tools​that comprises their performance oriented tools portfolio. They also have an APM solution, but in this section we want to focus on their profiler. JProfiler is a comprehensive profiler for Java SE and Java EE applications with plugins for all major IDEs which provides enhanced analysis of the collected profile data. The main approach of the JProfiler analysis is to collect and record profiling session data: metrics and the information about the application behavior. $$$ The Award-Winning All-in-One Java Profiler
  13. 13. 11All rights reserved. 2015 © ZeroTurnaround Inc. URL: http://xrebel.com/ Cost: XRebel by ZeroTurnaround is a lightweight Java profiler that is intended for use in a development environment. It’s a javaagent that instruments Java web-applications and automatically injects a widget like reporting console, embedded in your application view. The widget shows the application performance data. The main benefit comes from the fact that the developer can fix nastiest performance issues without even committing the poor code into the build. $$$ The Lightweight Java Profiler
  14. 14. 12All rights reserved. 2015 © ZeroTurnaround Inc. URL: http://gatling.io/ Cost: FREE! Gatling is an open source load testing framework based on Scala, Akka and Netty with extremely beautiful HTTP reports. Gatling can record test scenarios and has a developer-friendly DSL, so you can easily extend your recorded tests. $$$ Arm yourself for Performance
  15. 15. 13All rights reserved. 2015 © ZeroTurnaround Inc. Performance Issues in Action So, your application is slow. Maybe you experienced that firsthand or maybe your project manager came to you saying: “Users are complaining that it’s slow again”. Perhaps your operations team are pointing fingers at you, giggling that you are unable to deliver a single performing artifact to them. Irrespective of the information’s source, you are at the edge of the problem and the fix. You have to now determine what’s going on and then figure out how to fight the fire. At the same time, you can be sure that just fixing this issue once and forever is not an option available to you​. You’ll have the same problem after the next release, then again and again. What you really need is a change of perspective. How should you treat performance issues and the performance of your application in general? Well, there are several ways to fight application performance issues, and they even share a crucial common trait. They all assume that you operate on hard data and know what you’re doing. While this may be very accurate, you must take this next piece of advice very seriously Performance issues cannot be solved by shooting from the hip. Measure, apply a fix, measure again!
  16. 16. 14All rights reserved. 2015 © ZeroTurnaround Inc.
  17. 17. 15All rights reserved. 2015 © ZeroTurnaround Inc. Written by: Oleg Shelajev (@shelajev), Simon Maple (@sjmaple) Designed by: Ladislava Bohacova​ (@ladislava) Contact us Estonia Ülikooli 2, 4th floor Tartu, Estonia, 51003 Phone: +372 653 6099 Twitter: @RebelLabs Web: http://zeroturnaround.com/rebellabs Email: labs@zeroturnaround.com USA 399 Boylston Street, Suite 300, Boston, MA, USA, 02116 Phone: 1 (857) 277-1199 Czech Republic Jankovcova 1037/49 Building C, 5th floor, 170 00 Prague 7, Czech Republic Phone: +420 227 020 130

×