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

Erik Ostermueller

  • 出版商: Apress
  • 出版日期: 2017-10-01
  • 售價: $2,120
  • 貴賓價: 9.5$2,014
  • 語言: 英文
  • 頁數: 194
  • 裝訂: Paperback
  • ISBN: 1484229789
  • ISBN-13: 9781484229781
  • 相關分類: Java 程式語言Design Pattern
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

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 pro

vides 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 dev

elopers 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.

商品描述(中文翻譯)

使用一組開源且免費的工具來解決最普遍且棘手的Java性能問題,這些工具將使您在查找慢性能的根本原因方面更加高效。這本簡短的書籍專注於少數性能反模式,您會發現大多數遇到的問題都屬於這些反模式之一。該書提供了一個稱為“P.A.t.h. Checklist”的特定方法,其中包括持久性、外部系統、線程和堆管理。這些步驟將引導您完成一個可重複使用的故障排除過程,您可以將其應用於Java應用程序中的任何性能問題。這種技術在監控有限的“黑暗”環境中尤其有用。

性能問題不僅僅局限於Java,而且通常涉及數據庫訪問和服務器負載。本書通過示例關注這兩個問題,展示如何識別重複的SQL,以及如何在生產部署之前識別整個架構的性能問題。學習如何像專家一樣應用負載,並確定應用多少負載以確定系統的可擴展性。書中還提供了一打伺服器端性能謎題的實例,可以在您自己的機器上運行。通過這些示例,您將學會:

- 評估Java系統中四個主要問題領域的性能健康狀況:P.A.t.h. Checklist為每個領域提供了一套立即可用的工具
- 在沒有Java分析器的情況下,準確找出導致CPU和其他瓶頸的代碼
- 使用heapSpank(作者的開源泄漏檢測工具,可從heapSpank.org免費獲得)在幾分鐘內找到內存泄漏
- 本書提供的可重複使用的方法是解決整個行業中平均響應時間遲鈍的解藥。這本書提供了一個長期缺失的易於遵循的性能培訓計劃,將使任何使用Java編程的人受益。

您將學到什麼:

- 避免6種最常見的測試負載錯誤
- 確定要將多少線程調整到負載生成器中以測試系統的可擴展性
- 檢測三種最常見的SQL性能反模式
- 測量對後端系統(“外部系統”)的調用的網絡響應時間
- 確定垃圾回收性能是否健康,延遲是否由舊代或新代的問題引起,從而知道應該調整哪一代

這本書適合對Java開發和架構有一定經驗的開發人員和架構師。Java專家將能夠使用最新且最高效的開源Java性能工具來更新他們的技能。初級Java開發人員將接觸到在Java應用程序中反復出現的最常見性能缺陷,這些缺陷占慢性能系統的大部分。無論是專家還是初級開發人員,都將受益於關於負載生成的章節。