Network Performance: Bottleneck Basics
The term bottleneck does not in any way refer to the physique of your typical computer geek. Rather, computer geeks coined the phrase when they discovered that the tapered shape of a bottle of Jolt Cola limited the rate at which they could consume the beverage.
The term stuck and is used to this day to draw attention to the simple fact that a computer system is only as fast as its slowest component. It’s the computer equivalent of the old truism that a chain is only as strong as its weakest link.
For a simple demonstration of this concept, consider what happens when you print a word processing document on a slow printer. Your word processing program reads the data from disk and sends it to the printer. Then you sit and wait while the printer prints the document.
Would buying a faster CPU or adding more memory make the document print faster? No. The CPU is already much faster than the printer, and your computer already has more than enough memory to print the document. The printer itself is the bottleneck, so the only way to print the document faster is to replace the slow printer with a faster one.
Here are some other random thoughts about bottlenecks:
A computer system always has a bottleneck. For example, suppose that you decided that the bottleneck on your file server is a slow IDE hard drive, so you replace it with the fastest SCSI drive money can buy. Now, the hard drive is no longer the bottleneck: The drive can process information faster than the controller card to which the disk is connected.
You haven’t really eliminated the bottleneck: You just moved it from the hard drive to the disk controller. No matter what you do, the computer will always have some component that limits the overall performance of the system.
One way to limit the effect of a bottleneck is to avoid waiting for the bottleneck. For example, print spooling lets you avoid waiting for a slow printer. Spooling doesn’t speed up the printer, but it does free you to do other work while the printer chugs along. Similarly, disk caching lets you avoid waiting for a slow hard drive.