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
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Non-Linux FOSS: Caffeine!
- Managing Linux Using Puppet
- Control Your Linux Desktop with D-Bus
- Download "Linux Management with Red Hat Satellite: Measuring Business Impact and ROI"
- Doing for User Space What We Did for Kernel Space
- SuperTuxKart 0.9.2 Released
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Google's SwiftShader Released
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide