A Comparison of Linux Performance Tuning Books
Tuning Linux systems for performance is an essential task for any system administrator, but it also is one of the least documented. Without a hard-won understanding, performance tuning often can seem like some kind of black magic or performance art.
I've recently had the opportunity to read two books on the topic: Optimizing Linux Performance, written by Phillip G. Ezolt and part of the HP Professional Books imprint, and Performance Tuning for Linux Servers, edited by Sandra K. Johnson and published by IBM Press. As both of these titles came out of large companies that are throwing a lot of support behind Linux, I thought it would be worthwhile to compare the two books.
First, the similarities. Being that both of these books were written on the same topic, you might expect a fair amount of overlap--and you'd be right. Both of them cover a variety of standard tools for investigating performance problems: top, netstat, sar, oprofile and friends all receive good coverage. Both books also provide some recommendations for the process of performance tuning itself. It's also nice to see that both books provide some example performance tuning scenarios.
The books share a common flaw too. Although they both talk about performance tuning on a single box, occasionally using graphical tools, neither provides serious coverage of tuning an application in an enterprise setting. This task is a different beast altogether from single-box tuning; the tool sets are different, although they do overlap; the kinds of problems and solutions differ widely; and the people involved--it's almost never only one person--need to correlate much more data to come to a solution. For a large Web application such as Amazon.com, it might not be unusual to see 30 or more individual systems--Web servers, load balancers, routers, application servers and databases servers--involved in a single transaction.
These similarities, both good and bad, do not mean these books are identical twins, however. There are a number of differences. Optimizing Linux Performance, a smaller softcover book, covers less ground but does a better job with what it does cover. Linux System Tuning, a serious-looking hardback, seems as though it should provide deeper coverage of more topics, but it is marred by a number of flaws, as discussed below.
Overall, Optimizing Linux Performance (ISBN 0-13-148682-9) is a solid book. Ezolt starts out with an overview of performance tuning and provides a number of tips to help you make system tuning a repeatable and understandable process. He moves on to cover performance analysis tools for system CPU, system memory, process-specific CPU, process-specific memory, disk I/O and networking. He also includes a chapter on using "helpers" to automate using these tools, recording their output and analyzing the data you've collected. He then looks at the tools in situ, addressing specific kinds of performance bottlenecks and walking through three examples he calls "Performance Hunts". Finally, he closes with a chapter addressing the current state of Linux-based performance tools and what can be done to improve them.
At 326 pages, excluding appendices, and 13 chapters, Optimizing Linux Performance isn't a huge book, but I'd say it's worth the $49.99 cover price if you're getting started with performance tuning on Linux.
Performance Tuning for Linux Servers (ISBN 0-13-144753-X) has some problems. The biggest problem I found is it was written by many authors--more than 20--and it reads that way. Information often is repeated and sometimes in contradictory ways, and the style and usability are ragged. I also was put off by the large number of simple errors, such as the claim that ext2fs was the first filesystem on Linux. If the simple stuff is wrong, how can I trust the other information?
The book does have some value though. It provides a much more thorough background on Linux systems than does Optimizing Linux Performance. Performance Tuning for Linux Servers discusses more tools, including Performance Inspector, which I'd never heard of before. It also feels like there is a wider breadth of expertise under the hood of this book.
I expected more from a book by IBM however, and unless you're shooting for completeness, I don't recommend spending the $54.99 for this book. Hopefully an improved second edition that's worth the cost will come along soon; otherwise, look for it at a sale.
-- -pate http://on-ruby.blogspot.com
- Android Browser Security--What You Haven't Been Told
- Readers' Choice Awards 2013
- Epiq Solutions' Sidekiq M.2
- Nativ Disc
- The Many Paths to a Solution
- Synopsys' Coverity
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Returning Values from Bash Functions
- Securing the Programmer
Pick up any e-commerce web or mobile app today, and you’ll be holding a mashup of interconnected applications and services from a variety of different providers. For instance, when you connect to Amazon’s e-commerce app, cookies, tags and pixels that are monitored by solutions like Exact Target, BazaarVoice, Bing, Shopzilla, Liveramp and Google Tag Manager track every action you take. You’re presented with special offers and coupons based on your viewing and buying patterns. If you find something you want for your birthday, a third party manages your wish list, which you can share through multiple social- media outlets or email to a friend. When you select something to buy, you find yourself presented with similar items as kind suggestions. And when you finally check out, you’re offered the ability to pay with promo codes, gifts cards, PayPal or a variety of credit cards.Get the Guide