Share E-Book
Scan to open this page

Scan with your phone to open this page

Author: Ben Evans, James Gough

Rating No ratings yet

Performance tuning is an experimental science, but that doesn't mean engineers should resort to guesswork and folklore to get the job done. Yet that's often the case. With this practical book, intermediate to advanced Java technologists working with complex platforms will learn how to tune Java cloud applications for performance using a quantitative, verifiable, and repeatable approach.

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

AI guide
【One-Line Pitch】 A quantitative, repeatable approach to tuning Java applications on cloud platforms—for intermediate to advanced Java engineers who are tired of cargo-cult performance advice and want to measure before they optimize. 【Book Arc】 - **Opening (~0%–10%)**: Defines what "performance" actually means and dismantles the "lone hacker" myth; introduces the idea that tuning is an experimental science blending hard metrics with human factors. - **Early (~10%–32%)**: Builds the vocabulary—throughput, latency, capacity, utilization, efficiency, scalability, degradation—and explains why Java's managed subsystems and cloud-native auto-management shape its performance behavior. - **Early–Middle (~29%–48%)**: Covers performance testing types (latency, throughput, load, endurance/soak, capacity planning, degradation) and the statistics needed to interpret them, including random vs. systematic error, accuracy, and precision. - **Middle (~39%–48%)**: Addresses building production-like test environments, the false economy of under-resourced QA, and how cloud infrastructure (autoscaling, immutable infrastructure) changes the calculus. - **Middle (~42%–48%)**: Introduces performance antipatterns—recurring team/project behaviors like "Tuning By Folklore" and "Distracted By Shiny"—and argues for objective goals set early. - **Late (excerpts do not cover)**: The excerpts reference later chapters on JIT compilation, GC, memory subsystems, and cloud-native data collection, but the sample does not include their content. 【Key Takeaways】 - **Performance tuning is an experimental science, not a dark art** (Opening): The book's central thesis—replace guesswork and folklore with quantitative, verifiable, repeatable methods. This framing justifies every subsequent technique. - **Define your metrics before you optimize** (Early): Throughput, latency, capacity, utilization, efficiency, scalability, and degradation form a shared vocabulary. Optimizing one often degrades another, so goals must be explicit nonfunctional requirements. - **Averages lie about latency** (Early): A simple mean is a poor measure of user experience. The book stresses additional statistical measures—a point that reshapes how you read latency test results. - **Not all performance tests are the same** (Early–Middle): Latency, throughput, load, endurance/soak, capacity planning, and degradation tests each answer different questions. Running the wrong type wastes effort and produces misleading confidence. - **Your test environment must mirror production** (Middle): Environments that differ significantly from production produce results with no predictive power. The cost of an accurate environment is almost always less than the cost of outages. - **Cloud changes the testing equation** (Middle): Autoscaling, on-demand infrastructure, and immutable infrastructure make production-like environments theoretically easier—but introduce subtleties around change management and configuration drift. - **Antipatterns are organizational, not just technical** (Middle): "Tuning By Folklore" and "Distracted By Shiny" describe team behaviors that recur across projects. Naming them creates a pattern language for eliminating them. - **Distinguish random from systematic error** (Middle): Accuracy (low systematic error) and precision (low random error) are different problems requiring different fixes. Confusing them leads to wrong conclusions from valid data. 【Reading Tips】 - **Deep-read the opening chapters on metrics and testing taxonomy.** These are the foundation; skimming them means you'll misinterpret every later technique. - **Skim the statistics section if you already have a strong stats background**, but note the accuracy/precision distinction—it's applied throughout the book. - **Treat the antipatterns chapter as a diagnostic checklist.** Before starting a tuning project, review it to spot which behaviors your team is exhibiting. - **Pay attention to the cloud-specific sections** even if you work on traditional infrastructure—the distributed-systems concerns (node join/leave, rollout, work sharing) apply broadly. - **Don't expect code-level JVM tuning in the excerpts.** The sample covers methodology and measurement; the JIT, GC, and memory chapters are referenced but not included. 【Coverage Limits】 This guide covers the methodology, metrics, testing taxonomy, statistics, and antipatterns presented in the available excerpts (roughly the first half of the book). The later chapters on JIT compilation, garbage collection, memory subsystems, and cloud-native data collection are referenced but their content is not covered in the source material.
Page 5
ese titles. This will be the 1st chapter of the final book. If you have comments about how we might improve the content and/or examples in this book, or if y...
View in text
Page 13
detriment of another metric or group of metrics. Throughput Throughput is a metric that represents the rate of work a system or subsystem can perform. This i...
View in text
Excerpt 3
carefully. One of the most noticeable is that a simple mean (average) is not very useful as a measure of how well an application is reacting to requests. We...
View in text
Excerpt 4
is being launched, and an unexpected outage occurs—in user acceptance testing (UAT) if you are lucky, but often in production. The team is then left scrambli...
View in text
Excerpt 5
n be complementary or dual to each other. For example, some developers may be biased to assume that the problem is not software-related at all, and the cause...
View in text
Excerpt 6
d structure specified by the VM spec (Table 3-1). Any class that is loaded by the JVM will be verified to conform to the expected format before being allowed...
View in text
Excerpt 7
h will be customized via the flags (for heap size, GC, etc). At this time the process probes the machine it is running on, and examines various system parame...
View in text
Excerpt 8
tions and distributions, as well as the Java release cycle. This is an area that changes a lot over time—so this description is correct at time of writing on...
View in text
Tags
AI categories
JavaCloud NativeSoftware
ISBN: 1098149335
Publish Year: 2023
Language: English
Pages: 80
File Format: PDF
File Size: 3.1 MB
Text Preview (First 20 pages)
Registered users can read the full content for free

Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.

Generating text preview…