Systems Performance: Enterprise and the Cloud (英語) ペーパーバック – 2013/10/26
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
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.
• 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.
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).
If you're a system administration, a developper, a "true" database administrator trying to understand how your database is likely to interact with the operating system & hardware, here you are. You can't afford to miss this book.
The book is well written and I enjoy the breadth and depth of the topics. Each of which is covert from a near beginner to an almost expert level. Which is good for me because my understanding of the topics Brendan covers spans the same range, some I've barely heard of others I use almost every week.
He does cover both Linux and Solaris which make some of the procedure descriptions a bit repetititve but we do have a 90-10 split of Linux and Solaris machines and I may get stuck on a Solaris box one of these days.
My only criticism so far is the glossary could be more complete, I would like to have had EVERY acronym he uses in there because of the slow pace, I'm reading I don't remember the ones we don't use. Very common problem.
I'm using it to increase my skills in tracking down performance problems in software I develop and deploy for an international scientific collaboration. Fortunately for me, I haven't had a hard performance problem since I started reading the book, but I'm not sure how quickly I could use such a tome to solve a specific problem. On the other hand I have used many things I've learned to gain a better understanding of things that are working.
I like most of the reviewers so far would recommend it for anyone with even basic skills who is interested in understanding the issues affecting System Performance.
I gave it 4 stars instead of 5 because of how broad an audience it addresses. While that's a good thing in that people can find what they need it also means there is a lot they don't need. Nobody would write a book like this that only had what I need on the topic but I'm saving the 5 star rating for something that knocks my socks off. This is well worth the price if you take the time to not only read it but become familiar with the techniques presented.
Section 7.2.6. File System Cache Usage
operaing system uses available memory to cache the file system, improving performance. The principle is: If there is space main memory, use it for something useful. This can distress naive users who see the available free memory shrink to near zero...
If you are good at linux(or solaris) and interested in system and application performance, tracing and profiling, but you have some messy knowledge about this things - this book is for you.
It is not about system administration, but it's between programming and adminstration.
Reading this book and feel like i'm breaking through the wall of ignorance. Last time experienced similar feelings when reading Andrew Tanenbaum's books. This one is less theoretical, more practical.