Look at any PC advertisement: the first specification given is usually the CPU speed, because PC buyers like to be able to compare numbers, and this is an easy number to use for comparisons. Ironically, most PC systems are not balanced: a high-power CPU is wasted on an inferior bus and disk. (On the other hand, the CPU isn’t really wasted from the PC maker’s point of view if that’s what gets you to buy the system.) A low-end Intel Pentium CPU running at 100MHz will end up spending most of its time waiting for its EISA bus and IDE disk. What you really want is a fast bus, a low-latency disk, and a lot of RAM. Systems sold as servers are generally better balanced, because they are rated on actual throughput.

Still, sometimes you are really utilizing 100% of your CPU and could benefit from more power. Extensive database searches or calculations, generating graphics on the fly, or running server-side Java may all tax your CPU to its maximum. Use readily available Unix tools to monitor your CPU usage. Run vmstat 1 for a while and look at the last three columns, which are usually user, system, and idle time. If the idle time is usually very low, say under 5%, then you may need more CPU power. You can measure the same things with top or perfmeter.

How much CPU power you need also depends on the speed of your client connections, the size of the content being served, and the number of clients. Say you’re serving a large (100K) file to hundreds of clients at the same time. If the clients ...

Get Web Performance Tuning now with the O’Reilly learning platform.

O’Reilly members experience live online training, plus books, videos, and digital content from nearly 200 publishers.