Cantitate/Preț
Produs

Troubleshooting Java Performance

Autor Erik Ostermueller
en Limba Engleză Paperback – oct 2017

Actualizarea majoră pe care o aduce acest volum în peisajul tehnic Java constă în trecerea de la diagnosticarea intuitivă la un proces riguros și repetabil, bazat pe instrumente open-source accesibile. Notăm cu interes că Troubleshooting Java Performance nu încearcă să acopere exhaustiv întreaga platformă, ci se concentrează pe un set critic de anti-pattern-uri care generează majoritatea blocajelor în producție.

Remarcăm structura pragmatică a lucrării, organizată în trei părți distincte care ghidează cititorul de la fundamentul metricilor până la execuția unor scripturi de testare a sarcinii. Partea a treia introduce nucleul metodologic al cărții: „P.A.t.h. Checklist”. Acest acronim acoperă cele patru arii vulnerabile ale oricărui sistem Java: Persistența (baze de date), Sistemele „Alien” (apeluri externe), Firele de execuție (Threads) și Gestiunea memoriei (Heap). Merită menționat că autorul Erik Ostermueller oferă soluții specifice pentru medii de lucru cu vizibilitate redusă, unde nu pot fi instalate profilere comerciale complexe.

Cititorul care a aplicat ideile din Troubleshooting Java de Laurentiu Spilca va găsi aici o completare tehnică axată pe infrastructura de testare a sarcinii și pe utilizarea unor utilitare specifice, precum heapSpank, pentru izolarea rapidă a scurgerilor de memorie. În timp ce alte volume se concentrează pe citirea codului, această lucrare pune accent pe comportamentul sistemului sub stres și pe detectarea interogărilor SQL repetitive care pot sufoca arhitectura. Progresia conținutului, de la configurarea mediului de tuning până la reglarea Garbage Collector-ului, indică o abordare orientată spre rezultate imediate în optimizarea timpilor de răspuns.

Citește tot Restrânge

Preț: 31167 lei

Preț vechi: 38958 lei
-20%

Puncte Express: 468

Carte disponibilă

Livrare economică 30 aprilie-14 mai


Specificații

ISBN-13: 9781484229781
ISBN-10: 1484229789
Pagini: 224
Ilustrații: XXVI, 194 p. 93 illus., 87 illus. in color.
Dimensiuni: 178 x 254 x 13 mm
Greutate: 0.43 kg
Ediția:1st edition
Editura: Apress
Locul publicării:Berkeley, CA, United States

De ce să citești această carte

Recomandăm această carte dezvoltatorilor Java de nivel intermediar și senior care au nevoie de o metodă clară pentru a rezolva problemele de latență. Veți câștiga expertiză în configurarea generatorului de sarcină și în identificarea rapidă a blocajelor de CPU sau memorie fără profilere costisitoare. Este un ghid esențial pentru cei care vor să stăpânească scalabilitatea sistemelor complexe prin instrumente gratuite și tehnici de diagnosticare verificate în teren.


Despre autor

Erik Ostermueller este un arhitect software cu o vastă experiență în optimizarea performanței aplicațiilor enterprise Java. Este creatorul heapSpank, un utilitar open-source recunoscut pentru eficiența în detectarea scurgerilor de memorie în medii JVM. Expertiza sa se concentrează pe transformarea proceselor complexe de depanare în fluxuri de lucru simplificate, accesibile prin instrumente disponibile gratuit comunității de programatori. Prin contribuțiile sale, Ostermueller ajută echipele de dezvoltare să navigheze provocările legate de scalabilitate și stabilitatea sistemelor critice.


Descriere scurtă

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

Cuprins

Part I: Getting Started with Performance Tuning.1. Performance Anti-Patterns.- 2. Modest-sized Tuning Environment.- 3. Metrics: The Antidote to Guesswork.- Part II: Creating Load scripts with Load Testing.4. Load Generation Overview.- 5. Invalid Load Tests.- 6. Scalability Yardstick.- 7. JMeter Must-Know Features.- Part III: The P.A.t.h. Checklist and Performance Troubleshooting.8. Introduction to the P.A.t.h. Checklist .- 9. Persistence, the 'P' in P.A.t.h.- 10. Alien Systems, the 'A' in P.A.t.h..- 11. Threads, the 't' in P.A.t.
h..- 12. Heap, the 'h' in P.A.t.h..- 13. Conclusion.

Notă biografică

Erik Ostermueller is a Java architect who is passionate about performance engineering. He has spent the last 10 years leading international performance engineering teams, tuning high-throughput Java financial systems in North and South America, Europe and Asia. In 2011, he presented a paper entitled “How to Help Developers (Finally) Find Their Own Performance Defects” at the Computer Measurement Group’s annual conference, where he won “Best Paper” and the “Mullen Award” for best speaker. The proceeds of this award financed an eight-city speaking tour in the US, Canada, the UK, and Italy. 
Erik is the technical lead for the Performance Center of Excellence at FIS Global. He is the founder of heapSpank.org, wuqiSpank.org, and a contributor to JMeter-Plugins.org and other open source projects. He lives in Little Rock, Arkansas and plays soccer, tennis, and the piano.


Caracteristici

Provides a brief Java performance curriculum with 12 run-on-your-own-machine performance puzzles, all aimed at making you dramatically more productive in getting to root cause Gives expert load generation advice, including how to determine the precise load necessary to test a given application's scalability Shows how to detect memory leaks in minutes without a heap dump, and without restarting the suspect JVM