Systems Performance: Enterprise and the CloudBy Brendan Gregg Pearson/Prentice Hall ProfessionalOct 16, 2013, 792 pp.ISBN-10: 0133390098; ISBN-13: 9780133390094Print Book Price: US$45.20eBook Price: $27.49Systems Performance: Enterprise and the Cloud is a must-have reference guide for any IT manager or sysadmin whose job involves working with computer systems that are tethered to the cloud.
Author Brendan Gregg is no newcomer to writing definitive books on computer networks and system performance, but his latest release could well be his best work so far. Gregg received the 2013 LISA Award for Outstanding Achievement in System Administration. He is lead performance engineer at Joyent; before that, he was a Solaris kernel engineer at Sun Microsystems.
Systems Performance: Enterprise and the Cloud is a detailed guide to optimizing systems performance. It treats a topic of immense importance in today’s enterprise computing environments. Large-scale enterprise, cloud and virtualized computing environments face serious new challenges.
Gregg’s latest book addresses these issues by bringing together methodologies, tools and metrics for analyzing and tuning system performance. His primer for getting the best possible system performance focuses primarily on Linux and Unix platforms.
Gregg makes ample references to key Linux distros such as Ubuntu, Fedora and CentOS. He also concentrates on Solaris and its derivatives. He doesn’t ignore related issues relevant to all operating systems, however.
Systems Performance: Enterprise and the Cloud fills a void by providing reliable and practical information to IT professionals responsible for running these systems efficiently and cost-effectively. It offers a solution to guiding practitioners looking for state-of-the-art techniques and tools for analyzing and tuning large-scale cloud computing environments.
A Measured Approach
Any doubts as to Gregg’s success in creating the decade’s classic expose on system performance is quickly dispelled in his first chapter. This introduction to system performance summarizes key concepts and provides numerous examples of needed performance activities.
Chapter 2 follows up these examples with a background for performance analysis and tuning. It establishes a framework for understanding terminology, concepts and models.
Yet Gregg does not restrict his discussion to just these factors. He also includes methodologies for observation and experimentation, capacity planning, analysis and statistics.
Chapter 3 delves into the essentials of kernel internals for the performance analyst. By the end of this chapter, Gregg has established a foundation for interpreting and understanding what the operating system is doing.
In the rest of the 13 chapters, Gregg goes through subsets of system components to provide a deeper understanding of how hardware and cloud interaction impacts overall system performance. This discourse starts with the types of system-observability tools available and the interfaces and frameworks built upon them.
The discussion progresses from there to application-performance topics and how to observe them from the operating system. Next Gregg tackles processors cores, hardware threads, CPU caches, CPU interconnects and kernel scheduling. Following that is a discussion of the significance of virtual memory, paging, swapping, memory architectures, buses, address spaces and allocators.
In Chapters 8 and 9 Gregg dissects file system I/O performance and discusses the different caches involved. Then he covers storage devices, disk I/O workloads, storage controllers, RAID and the kernel I/O subsystem. Chapter 10 brings the system disclosures to a close with a review of network protocols, sockets, interfaces and physical connections.
Gregg leaps from local hardware to the essentials of cloud computing in Chapter 11. He introduces operating-system and hardware-based virtualization methods commonly used for cloud computing and explains their performance overhead, isolation and observability characteristics.
Chapter 12 brings the significance of all this build-up to a head in a presentation on benchmarking. Gregg shows how to benchmark accurately and how to interpret others’ benchmark results, with a focus on ways to avoid common mistakes.
The book concludes with a systems performance case study that shows the process of analyzing a real cloud customer issue.
Balances and Complete
Systems Performance: Enterprise and the Cloud is a modern and very comprehensive guide that covers all the aspects of system performance. Gregg covers this material in a way that presents a solid balance between being too simple and offering too many details.
Gregg’s explanations set the standard for understanding today’s computing systems as it extends to the clouds. You will not find his approach overwhelming. Instead, it is articulate and inspiring.