• Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint
Share this Page URL

Chapter 2. Capacity Planning > Questions to Ask

2.3. 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 per second" actually means. For example, we usually assume that HTTP requests are fulfilled serially and that the connection time is very short. These assumptions are valid if we are serving relatively few users on a fast LAN connection, but not if we have many users on slow modem connections. In the case of many users with slow access, connections are likely to last more than a second. Each connection will require buffer space and processor time, so the server load calculations should measure the load in concurrent users, which is the typical form of client-server load.

So we see that network speed has an important effect on server sizing. Even though HTTP loads are expressed in hits per second rather than number of concurrent users, you have a qualitatively different load if your users are all on Ethernet than if they are on 28.8kbps modems. The differences are that the Ethernet users will expect lower latency and that the server will have fewer concurrent connections for Ethernet. So in one sense, high-speed users place a larger load on the server, since their latency expectations are more demanding. In another sense, they require less of it, because fewer concurrent connections require less memory.

At any speed, HTTP requests tend to cluster because of the need to get embedded images and other such content. The arrival of one connection is a good indication that several others are very likely to arrive soon. If servers were more clever and more powerful, they'd parse HTML as it was served to find embedded images or applets that belong with each HTML page. They could then begin the retrieval of an HTML page's embedded content before the browser even asks for it.

Load on a server is statistically a function of the time of day. Figure 2.1 shows a typical graph of the load on a web server throughout the day. For content with a global audience, the load rises to a gradual peak about noon in California (which is 3 p.m. in New York and 9 p.m. in London). Depending on the market for the content, the shape of this curve will vary somewhat over the day and over the week. Stock quote servers will be busiest during working days. Servers advertising specific events can expect a flood of users during the event and relatively few thereafter. Peaks of three to five times the average load are typical during special events. As a general rule, permanent web sites see a continuous rise in load as more people get connected to the Internet, so you must build for this expected growth. The web is not only expanding, but may even be accelerating its growth as it moves to encompass non-computer devices.



Not a subscriber?

Start A Free Trial

  • Creative Edge
  • Create BookmarkCreate Bookmark
  • Create Note or TagCreate Note or Tag
  • PrintPrint