Detecting Bottlenecks

Of course you never drink bottled beer, but if you did you would notice that the neck of the bottle is narrower than the base. When you turn the bottle upside-down, the narrow neck of the bottle restricts the flow so that you can barely get enough beer to quench your thirst.

With computer bottlenecks, the bottleneck is the part of the computer that is restricting the flow of work. But unlike the neck on a beer bottle, the bottleneck in a computer can move around from one part of the system to another.

Bottleneck detection is the process of isolating the hardware component that is restricting the flow of your activities. But because it is generally easier to move software around than it is to move hardware, it is also useful to find the software component that is generating all the activity.

For example, let's suppose you have a computer that occasionally gives a sluggish response. You follow the directions in this book, and quickly determine that the problem is that your main disk is very busy from time to time. You will want to find the source of this disk activity. Depending on the source of the activity, you might be able to move it to a second disk drive and thus reduce the interference with your normal work.

And here's something that you probably didn't know: software sometimes has bugs. These can cause programs to overconsume your hardware. If you find the software is the problem, you can replace it or modify it—it is generally true that it is cheaper to drop your software from the tenth story than your hardware.

Whether you are a single, isolated user with Windows NT on your desktop or you are managing a great many file and print servers, the questions you ask and the methods you use to find bottlenecks in your computer are similar. We will thoroughly discuss bottleneck detection in Chapters 3 through 7. There are a number of special considerations for computers being used in certain ways, and we'll look at those as we move along. But generally we all need to approach bottleneck detection through the same looking glass.