Systems Performance: Enterprise and the Cloud

Front Cover
Pearson Education, 2013 - Computers - 735 pages
1 Review

The Complete Guide to Optimizing Systems Performance

Written by the winner of the 2013 LISA Award for Outstanding Achievement in System Administration


Large-scale enterprise, cloud, and virtualized computing systems have introduced serious performance challenges. Now, internationally renowned performance expert Brendan Gregg has brought together proven methodologies, tools, and metrics for analyzing and tuning even the most complex environments. Systems Performance: Enterprise and the Cloud focuses on Linux® and Unix® performance, while illuminating performance issues that are relevant to all operating systems. You'll gain deep insight into how systems work and perform, and learn methodologies for analyzing and improving system and application performance. Gregg presents examples from bare-metal systems and virtualized cloud tenants running Linux-based Ubuntu®, Fedora®, CentOS, and the illumos-based Joyent® SmartOS™ and OmniTI OmniOS®. He systematically covers modern systems performance, including the “traditional” analysis of CPUs, memory, disks, and networks, and new areas including cloud computing and dynamic tracing. This book also helps you identify and fix the “unknown unknowns” of complex performance: bottlenecks that emerge from elements and interactions you were not aware of. The text concludes with a detailed case study, showing how a real cloud customer issue was analyzed from start to finish.

Coverage includes

• Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques

• Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf

• Kernel internals: uncovering what the OS is doing

• Using system observability tools, interfaces, and frameworks

• Understanding and monitoring application performance

• Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling

• Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators

• File system I/O, including caching

• Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O

• Network-related performance issues: protocols, sockets, interfaces, and physical connections

• Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing

• Benchmarking: getting accurate results and avoiding common mistakes

This guide is indispensable for anyone who operates enterprise or cloud environments: system, network, database, and web admins; developers; and other professionals. For students and others new to optimization, it also provides exercises reflecting Gregg's extensive instructional experience.

 

What people are saying - Write a review

User Review - Flag as inappropriate

This book is excellent for those looking to understand performance tuning for Solaris and Linux systems. Brendan does an outstanding job at describing the concepts and gives easy to understand examples. Thank you!

Contents

Chapter 1 Introduction
1
Chapter 2 Methodology
15
Chapter 3 Operating Systems
85
Chapter 4 Observability Tools
115
Chapter 5 Applications
153
Chapter 6 CPUs
189
Chapter 7 Memory
265
Chapter 8 File Systems
323
Chapter 13 Case Study
617
USE Method Linux
637
USE Method Solaris
643
sar Summary
649
DTrace OneLiners
651
Appendix E DTrace to SystemTap
665
Solutions to Selected Exercises
675
Systems Performance Whos Who
679

Chapter 9 Disks
395
Chapter 10 Network
473
Chapter 11 Cloud Computing
545
Chapter 12 Benchmarking
587
Glossary
683
Bibliography
689
Index
697
Copyright

Other editions - View all

Common terms and phrases

About the author (2013)

Brendan Gregg, lead performance engineer at Joyent, analyzes performance and scalability throughout the software stack. As performance lead and kernel engineer at Sun Microsystems (and later Oracle), his work included developing the ZFS L2ARC, a pioneering file system technology for improving performance using flash memory. He has invented and developed many performance tools, including some that ship with Mac OS X and Oracle® Solaris™ 11. His recent work has included performance visualizations for Linux and illumos kernel analysis. For contributions to system administration, and his work on performance analysis methodologies, he is the recipient of the USENIX 2013 LISA Award for Outstanding Achievement in System Administration. He is also a coauthor of Dtrace: Dynamic Tracing in Oracle Solaris, Mac OS X and FreeBSD (Prentice Hall, 2011), and Solaris™ Performance and Tools: DTrace and MDB Techniques for Solaris 10 and OpenSolaris, (Prentice Hall, 2007).


Bibliographic information