Overview
System Performance Tuning answers one of the most fundamental questions you can ask about your UNIX-based computer: How can I get it to do more work without buying more hardware? Anyone who has ever used a computer has wished that the system was faster, particularly at times when it was under heavy load.
If your system gets sluggish when you start a big job, if it feels as if you spend hours waiting for remote file access to complete, if your system stops dead when several users are active at the same time, you need to read this book. Some performance problems do require you to buy a bigger or faster computer, but many can be solved simply by making better use of the resources you already have.
Contents include:
- Real and perceived performance problems.
- Simple tricks to improve keyboard response.
- Locating your problem; finding out what your system is doing.
- Using tools such as at and batch to manage system load.
- Surviving without a lot of memory.
- Configuring your I/O system for the best throughput.
- Detecting an overworked or malfunctioning network.
- Building a kernel that uses your system more efficiently.
This book answers one of the most fundamental questions you can ask about your computer: How can I get it to do more work without buying more hardware? Some performance problems do require you to buy a bigger or faster computer, but many can be solved simply by making better use of the resources you already have--Mike Loukides tells you how.
Editorials
Regan Russell
I admit that I have a fondness for O'Reilly books. They have a consistently directly work-related style and relevance, and are tutorial in nature. In its day System Performance Tuning, by Mike Loukides, would have been extremely useful for advancing to the level of master system administrator or as a reference for some people who are just efficiency freaks.
However, by today's standards, System Performance Tuning is dated: There is very system-specific discussion of BSD and System V variants, such as SunOS and XENIX. This is mostly about options to vmstat, iostat, sar, ps, perfmeter, and the like. It is interesting to see that ps under BSD could be used to look at kernel core files after a panic. Some times older or less popular technologies have ideas worth revisiting.
In a book this old, it is interesting to read outdated predictions (flawed or otherwise), such as the widespread adoption of Mach and upcoming "new" technologies such as threads, which are now taken for granted. In spite of this, some of this information can still be applied today, as some concepts remain constant. One such concept is building small and efficient kernels. Another is the iterative process of collecting statistics, analyzing them and tuning the system. Neither of these is really adequately covered in any currently available Linux or FreeBSD book. In the modern organization, other factors (such as clustering for scalability and the lack of terminals in most modern workplaces) bypasses some of the motivations of this book. This book would be particularly useful for large critical servers in a non-distributed environment.
System Performance Tuning covers introductory motivations and an outline of terms, monitoring, memory performance, disk performance, network performance, terminal performance, and kernel configuration with two appendixes: real time and strategies. Like most "nutshell" books, the glossary is clear. There are good summaries at the end of chapters with tips based on hard-won experience, things like being critical of performance specs, or upgrading a controller before looking to add extra faster drives. Some theoretical knowledge is imparted through these pages as well; for example, the topic of extent maps (now a common feature) within file systems.
The book suggests: turning on accounting; tuning kernel parameters; making choices between RAM usage and disk usage; educating users; shutting down unnecessary processes, "nice-ing" processes or running them off peak; and writing benchmark programs. The book includes a simple C program and some Awk and Bourne shell scripts, but mostly it shows how to analyze the output of system commands. There is even something for programmers -- the old data alignment and memory allocation chestnut is dragged out.
If you are trying to nurse along an aging 386 running XENIX or an old 68030 running SunOS, System Performance Tuning is for you. Otherwise, it is an interesting historical read on making the most of what you have, and while some of the details of systems change, the goals and underlying concepts remain the same.
β Electronic Review of Computer Books