O'Reilly logo

Web Performance Tuning, 2nd Edition by Patrick Killelea

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

CPU

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 500 MHz 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 percent 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 idletime. If the idle time is usually very low, say under five percent, 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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required