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

How Much Memory Do You Need?

The answer is “more.” It’s a rule of thumb that you always need more memory. The worst thing short of total failure that can happen to your server is a memory shortage serious enough to start the swapping of entire processes out to disk. When that happens, performance will quickly drop, and users will wonder if it’s worth their time to wait for your content. It is better to refuse the excess connections you cannot handle well than for all of your users to get unacceptable performance.

Servers that run as multiple processes, such as Apache, have a configurable limit to the number of processes and simultaneous connections per process. Multithreaded servers provide limits to the number of active threads. See Chapter 18 for details. You can also limit incoming connections by setting the TCP listen queue small enough so that you are assured of being able to service the users who have connected.

A server that is short of memory may show high CPU utilization because it constantly needs to scan for pages of memory to move out to disk. In such a case, adding CPU power won’t help; you need to add more memory or reduce memory usage. Look at the rate of page scanning with vmstat under Solaris or with the Performance Monitor under NT. Under Solaris, the sr column of vmstat will tell you the scan rate. Sustained scanning for memory is an indication of a memory shortage. Under NT, the clue is that your processor time will be high and almost entirely “privileged” ...

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