Questions to Ask

The first step in capacity planning is to clarify your requirements and get them down on paper. Here are some questions that will help you pin down what you need:

How many HTTP operations per unit time do you expect?

Unlike the client/server paradigm where the most important sizing parameter is the number of concurrent users, the relevant parameter for web servers is HTTP operations per second, also referred to as hits per second. Few websites receive more than 25 hits per second. Web servers do not maintain a dedicated connection to the browser because HTTP 1.0 is a connectionless protocol. The user connects, requests a document, receives it, and disconnects. HTTP was implemented in this way to keep the protocol simple, to conserve bandwidth, and to allow a web page to consist of components from multiple servers. Even though the user has the impression that he or she has been connected during an entire session of reading pages from a web site, from the server’s point of view, the user disappears after each request and reappears only when requesting a new page and associated content, like images. This loading characteristic of web servers is changing because HTTP 1.1 does allow the user to remain connected for more than one request. Also, Java applets sometimes open a connection back to the web server they came from and can keep this connection open.

Because of the simple nature of HTTP, it is easy to make overly simplified assumptions about what “connections ...

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.