Review of Linux Performance Tuning and Capacity Planning

Linux Performance Tuning and Capacity Planning
Jason R. Fink and Matthew D. Sherer

Reviewed by Nick Christenson,

April 2, 2002

Performance tuning has always been a difficult subject to write about. Audiences of these books have very different backgrounds and depths. As hardware changes, the nature of the game often changes fundamentally in a short period of time. Some situations require a great deal of background to analyze thoroughly. Nonetheless, a large demand exists for performance tuning information, and given the popularity of the Linux operating system, a book which combines these topics seems like a natural fit.

The book starts with an overview which describes the "big picture" of performance tuning, including some overriding principles. The book then covers tools and methods that can be valuable in analyzing problems. Later, techniques for relieving specific bottlenecks are discussed. The authors then explore the issues involved in capacity planning, and conclude with a couple of case studies.

Overall, this book is pitched at a much lower level than Musumeci's System Performance Tuning, 2nd Edition. The authors of Linux Performance Tuning go into far less detail about the root causes of various types of performance problems. Unfortunately, they also provide less detail in terms of assisting the reader in determining what might be applicable solutions. For example, Fink and Sherer explain that if a single disk is a bottleneck, that several can be aggregated using Linux's Logical Volume Manager (LVM). They also explain how disks can be grouped together using Linux's software RAID capabilities. However, they don't provide any assistance to the reader in determining how much of a performance improvement might be realized by aggregated three disks using LVM vs. one disk alone. Neither are we given much guidance on the pros and cons of different RAID levels. Little advice is available on how to evaluate either what solution might be appropriate for a given situation or how to compare different hardware solutions in order to find a good fit.

I don't feel that the book was particularly well edited. Even after repeated readings, there are still several statements in the book that I just don't understand. The coverage of a number of topics seems spotty or incomplete to me. Moreover, I find no real insights here. The tools covered are typically more thoroughly documented in other books, and rather than really delving into Linux-specific issues, it simply seems to be the platform on which examples are based.

I also wonder how useful some of the topics in the books might be. It might be just because its an area of particular interest to me, but I found it unfortunate that there was no mention of the performance characteristics of the different filesystems available for Linux, but there's a whole chapter covering performance tuning X Windows. Perhaps I'm wrong, but I would think there would be a much larger audience for the former than for the latter.

The section on capacity planning is very short on advice specific advice that the reader could really apply it to their situation. Some of the advice might not be ideal, but at least Brian Wong in Configuration and Capacity Planning for Solaris Servers provides advice that is specific and detailed enough for the reader to apply it to their own situation. There are very few case studies at the end, they're not very detailed, and I don't feel that their representative of the techniques discussed in the book.

I don't think the advice given in the book is wrong, just that it's rarely specific enough for me to evaluate whether it would be appropriate for a given situation or not. There are some interesting Linux-specific discussions here, but overall I would consider this to be a pretty introductory treatment of the topic. Linux users who are interested in this topic but feel overwhelmed by Musumeci's book might find this valuable, but I have to confess that I expected more for fifty bucks.


Those folks who are looking for an introductory book on Linux tuning might find this book to be valuable, but I was disappointed. The superficial treatment of key topics, a lack of general depth about Linux-specific issues, poor editing, and a steep price tag keep me from generally recommending this book. It's not a bad book, but it probably won't spend a lot of time off of my bookshelf in the years to come.

Click here to return to the index of reviews.