Jump to ratings and reviews
Rate this book

Troubleshooting Java Performance: Detecting Anti-Patterns with Open Source Tools

Rate this book
Troubleshoot the most widespread and pernicious Java performance problems using a set of open-source and freely-available tools that will make you dramatically more productive in finding the root causes of slow performance. This is a brief book that focuses on a small number of performance anti-patterns, and you'll find that most problems you encounter fit into one of these anti-patterns. The book provides a specific method in a series of steps referred to as the "P.A.t.h. Checklist" that encompasses persistence, alien systems, threads, and heap management. These steps guide you through a troubleshooting process that is repeatable, that you can apply to any performance problem in a Java application. This technique is especially helpful in 'dark' environments with little monitoring.
Performance problems are not always localized to Java, but often fall into the realms of database access and server load. This book gives attention to both of these issues through examples showing how to identify repetitive SQL, and identify architecture-wide performance problems ahead of production rollout. Learn how to apply load like an expert, and determine how much load to apply to determine whether your system scales. Included are walk-throughs of a dozen server-side performance puzzles that are ready to run on your own machine. Following these examples helps you learn to:
Assess the performance health of four main problems areas in a Java system: The P.A.t.h. Checklist presents each area with its own set of plug-it-in-now tools


Pinpoint the code at fault for CPU and other bottlenecks without a Java profiler
Find memory leaks in just minutes using heapSpank, the author's open-source leak detector utility that is freely available from heapSpank.org
The repeatable method provided in this book is an antidote to lackluster average response times that are multi-second throughout the industry. This book provides a long absent, easy-to-follow, performance training regimen that will benefit anyone programming in Java.
What You'll Learn
Avoid the 6 most common ways to mess up a load test


Determine the exact number of threads to dial into the load generator to test your system's scalability


Detect the three most common SQL performance anti-patterns


Measure network response times of calls to back-end systems ('alien systems')


Identify whether garbage collection performance is healthy or unhealthy and whether delays are caused by problems in the old or new generation, so you know which generation needs to be adjusted
Who This Book Is For
Intermediate and expert Java developers and architects. Java experts will be able to update their skill set with the latest and most productive, open-source Java performance tools. Intermediate Java developers are exposed to the most common performance defects that repeatedly show up in Java applications, ones that account for the bulk of slow-performing systems. Experts and intermediates alike will benefit from the chapters on load generation.

220 pages, Paperback

Published October 1, 2017

3 people are currently reading
19 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (20%)
4 stars
0 (0%)
3 stars
2 (40%)
2 stars
2 (40%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for David Robillard.
149 reviews8 followers
January 14, 2021
Interesting, but not much new. The style of writing is also a bit strange. I guess I've been doing performance testing for so long that this book wasn't meant for me. If you're new to this field, then yes, it's an interesting one.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.