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. YouGÇÖ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-« SmartOSGäó and OmniTI OmniOS-«. He systematically covers modern systems performance, including the GÇ£traditionalGÇ¥ 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 GÇ£unknown unknownsGÇ¥ 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.
GÇó Modern performance analysis and tuning: terminology, concepts, models, methods, and techniques
GÇó Dynamic tracing techniques and tools, including examples of DTrace, SystemTap, and perf
GÇó Kernel internals: uncovering what the OS is doing
GÇó Using system observability tools, interfaces, and frameworks
GÇó Understanding and monitoring application performance
GÇó Optimizing CPUs: processors, cores, hardware threads, caches, interconnects, and kernel scheduling
GÇó Memory optimization: virtual memory, paging, swapping, memory architectures, busses, address spaces, and allocators
GÇó File system I/O, including caching
GÇó Storage devices/controllers, disk I/O workloads, RAID, and kernel I/O
GÇó Network-related performance issues: protocols, sockets, interfaces, and physical connections
GÇó Performance implications of OS and hardware-based virtualization, and new issues encountered with cloud computing
GÇó 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 GreggGÇÖs extensive instructional experience.