Eight years ago I wrote Systems Performance: Enterprise and the Cloud (aka the "sysperf" book) on the performance of computing systems, and this year I'm excited to be releasing the second edition. The first edition was successful, selling over 10k copies and becoming required or recommended reading at many companies (and even mentioned in job descriptions). Thanks to everyone for their support. I've received feedback that it is useful, not just for learning performance, but also for showing how computers work internally: essential knowledge for all engineers.
The second edition adds content on BPF, BCC, bpftrace, perf, and Ftrace, mostly removes Solaris, makes numerous updates to Linux and cloud computing, and includes general improvements and additions. It is written by a more experienced version of myself than I was for the first edition, including my six years of experience as a senior performance engineer at Netflix. This edition has also been improved by a new technical review team of over 30 engineers.
How much has changed since first edition? It's hard to say, but easy to visualize. As an example, the following shows Chapter 6, CPUs, where black text is from the first edition and colored text are the updates (this is a color scheme I use to show reviewers when text was changed; from oldest changes to newest: yellow, green, aqua, blue, purple, red):
Chapter 6, CPUs, changes colored
Here is the entire book as a 3.1 Mbyte jpg. (Note that these visualizations are not final as I'm still making updates. And this doesn't highlight figure and copy-edit changes.)
The book will be released in November 2020 by Addison-Wesley, and will be around 800 pages. It's already listed on Amazon.com.
A year ago I announced BPF Performance Tools: Linux System and Application Observability. In a way, Systems Performance is volume 1 and BPF Performance Tools is volume 2. Sysperf provides balanced coverage of models, theory, architecture, observability tools (traditional and tracing), experimental tools, and tuning. The BPF tools book focuses on BPF tracing tools only, with brief summaries of architecture and traditional tools.
Which book should you buy? Both, of course. :-) Since they are both performance books there is a little overlap between them, but not much. I think sysperf has a wider audience: it is a handbook for anyone to learn performance and computer internals. The BPF tools book will satisfy those wishing to jump ahead and run advanced tools for some quick wins.
For more information, including links showing where to buy the book, please see its website: Systems Performance: Enterprise and the Cloud, 2nd Edition.
Click here for Disqus comments (ad supported).