Professional Documents
Culture Documents
Systems Performance Book
Systems Performance Book
Other activities of systems performance include benchmarking for the evaluation of systems, capacity
planning, bottleneck elimination, and scalability analysis – so that you discover scalability limiters
early, and in time to fix them.
Operating Systems
Operating systems based on two different kernels are used as examples in this book: Linux-based:
Ubuntu, Fedora, and CentOS; and illumos-based (a fork of OpenSolaris): SmartOS, and OmniOS. You
may be interested in only one of these, but covering others provides additional perspective, helping you
better understand the design choices, and performance results, of each.
Audience
This book is primarily for system administrators, support staff, operators, and devops in enterprise and
cloud environments. It is also a useful reference for developers, database administrators, and web
server administrators who would like to understand operating system and application performance.
Focusing on methodologies is one of the strategies I've used to make this book as timeless as possible,
so that you can continue referring to it for the rest of your career. I'm still referring to The Art of
Computer Systems Performance Analysis, by Raj Jain in 1991, over twenty years since it was written.
Table of Contents
1. Intro
2. Methodology
3. Operating Systems
4. Observability Tools
5. Applications
6. CPUs
7. Memory
8. File Systems
9. Disks
10. Network
11. Cloud Computing
12. Benchmarking
13. Case Study
Appendices
Glossary
Related Content
I
launched
the book
at
sample chapter (PDF)
p89: The term "context switch" should be "mode switch" on this page.
p106: "processes to run in parallel" → "processes to run concurrently".
p202: "toward provide these on-chip" → "toward providing these on-chip".
p215: "check the idle column" → "check the idle columns" (wait I/O and idle)
p253: Figure 6-16, x-axis scale should be 0-30 s, and delete "5,312 CPUs" from label
p390: "Key ZSF" → "Key ZFS"
These corrections have already been sent to the publisher. Also: the first copies that went through the
print machinery had an issue with binding and gluing for the first pages, which in the worst case has
led to pages falling out; the publisher has been replacing those copies, and checking all future copies. If
the book was bought on Amazon, then follow the return procedure. Sorry for the inconvenience.
p30, 2.3.14: The "hit ratio" formula is correct, but the description above it is not. "cache's hit ratio ...
versus the number of times it was not (misses):" should be "... versus the total accesses (hits +
misses).".
p231, 6.6.5: Regarding ps(1) "On Linux, the %CPU column shows the CPU usage during the
previous second as the sum across all CPUs." should be "On Linux, the %CPU column shows the
average CPU utilization over the lifetime of the process, summed across all CPUs".
p232, 6.6.6: "... TIME and %CPU columns, which were introduced in the previous section on
ps(1)." should now be "... TIME and %CPU columns. For top(1), the %CPU is the average for the
update interval."
p435, 9.6.1: "r/s: read requests issued to the disk device per second" should say "completed" instead
of "issued", and the same for "w/s".
Thanks to all the reviewers, and to Deirdré Straughan for editing another one of my books!