Ever since its rise to popularity, the Web has seen all kinds of “rating systems” that compare the quality and appearance of a given site’s content to that of the teeming masses. But to date there has been no way to rate a site’s capacity the way car engines are rated for horsepower. To those who are part of the Web food chain in one form or another, a capacity rating system can only be a good thing. It encourages companies with lower rated sites to spend more on upgrades and improvements, and it encourages those with higher rated sites to keep them that way. It lends form and structure to what is otherwise a bewildering array of related but different components. Most of the components themselves are rated but the site they are part of is not. For example, how would you rate a site that uses five 2-GHZ Compaq servers with load balancing connected to an OC-48 on the Internet backbone? You couldn’t, of course, unless you included the other half of the equation, which is the operating software and content of the site.

Only when something can be measured and compared can it be rated, and an industry without a rating system is an industry with a quality control problem. How does the customer know what he is buying? How does the vendor know what he is selling? Companies spend millions on their Web sites, from design and development to hosting and maintenance, and yet there is no way to set their site apart from the mom and pop operation down the street with an online selection of doo dads for sale on a clunky server connected to a DSL line. The Web levels the playing field in that sense for sure. But Web capacity is NOT a level playing field – going back to the car engine analogy, some sites have mega capacity horsepower and some have practically none. How do you tell the difference between them? How good is good and how bad is bad when it comes to Web site capacity?

The Basic Metrics of Web Site Performance

Fortunately there is nowhere near the number of variables involved in measuring Web site capacity as measuring car engine horsepower – something without moving parts per se is usually easier to get your arms around. A Web server responds to requests from Web clients, and these requests are called “hits”. A “hit” is a single URL that can be anything from a Web page access to a server side script or database query. A Web transaction involves the complete cycle of the server taking a “hit”, from receiving the request and processing it to sending back a complete response. The two obvious variables that can easily be measured here are the number of hits and the rate of the server’s responses.

The thing that defines capacity in most people’s minds is the number of simultaneous visitors, but in fact that number is the least relevant of the metrics available to us – a small number of very active visitors can put a much greater strain on a site than a large number doing very little. Once again it is the number of hits and the rate of the responses that matter – like cylinders firing in a car engine when the gas pedal is down, the rate of incoming requests and outgoing responses determine how “busy” a site is. Visitors merely apply pressure to the gas pedal, and whether it takes 50 or 500 at some point every site will max out. This is indicated by a decline in the rate or volume of the site’s responses resulting from either a sever overload or bandwidth limitation.

Finding the Breaking Point

Is it necessary to find a site’s breaking point before it can be measured and rated? In theory it does but in practice it doesn’t. If we had a Web site rating system it is likely that no site in the world would command a higher rating than Microsoft’s. It is doubtful whether all the load testing companies combined could crash their site or even slow it down – after a number of false starts, they eventually got the formula right and now it services hundreds of thousands of visitors a day from all over the world. You don’t have to find the Microsoft site’s breaking point to give it a Five Star (or 500 horsepower) rating.

On the other hand, very few sites are capable of handling more than a couple thousand visitors at once, even if they are slow as molasses. Some sites will crash at the slightest gust of traffic while others require a heavier gust. Because it is always the weakest or slowest link in the chain that limits the performance of the whole, and because there are so many links in the chain of Web site capacity, a Five Star site can easily turn in a Two Star rating if something isn’t working quite right. A well known financial services firm discovered this when they upgraded the database their site was based on and it slowed to a crawl at a mere 50 visitors – a small fraction of their average daily visitor count.

The Proper Etiquette of Web Site Protocol

The HTTP protocol that the Web is based on includes a number of result codes that define everything from errors to notification messages. Because these codes and their definitions are generic in nature, it is up to the application developer to decide which ones to use and when to use them (if they use them at all, that is). For example, some sites will return a “server busy” code when the number of users or the rate of transactions reaches a certain level. Others will just keep trying to service incoming requests and get slower and slower. What is your preference – to be made to wait indefinitely or told to come back later?

Other errors are just a sign of sloppy practices – the infamous “page not found” error resulting from the trillions of broken links out there is the best example of this. But whether the errors reported by a server are the result of careful planning or oversight, they must necessarily be included in the rating system. After all, a site that returns “server too busy” errors is telling you in no uncertain terms that it has reached a server overload condition, is it not? The most hilarious of these HTTP codes is 403 : “Forbidden – the server understood the request but is refusing to fulfill it. Authorization will not help and the request should NOT be repeated”. This is the equivalent of a hand slap in Web site protocol and is not the most polite way to treat your clients.

The World is Waiting

The Web is sometimes called the World Wide Wait for good reason – not just overloaded servers and maxed out connections, but traffic patterns on the Internet itself are the cause of this annoyance. But if a site takes forever to respond and even longer to load, the chances are that the problem is with the site or its hosting facility. If every site is behaving that way, the problem is with your connection or ISP. This makes the finger of blame is easy to point, does it not?

So another important metric of Web site capacity is response time – how quickly d the site responds to each request and how quickly the responses are received. A site can be said to “handle” a certain load if its output goes up over time while response times remain low. A steady rise in response times, often accompanied by a decline in output, is a sure sign that either a server overload or bandwidth limitation has been reached. In other words, the site has become part of the World Wide Wait instead of the World Wide Web.

Five Stars or Five Hundred Horsepower?

Whatever rating system is chosen for Web site capacity there must be one, and there must be an easy and repeatable way to measure it. It must be measured from the Internet and not in the lab, otherwise it fails to take the Web itself into account and that would be an oxymoron. And it must involve a statistically significant sampling of monitoring and measuring points, not just one or two or even a handful – a wealth of test data points to the fact that Web sites pop up faster in Idaho than anywhere else in the world. So taking all your measurements in Idaho will make your site look good on paper, but it won’t tell you how it actually looks to the rest of the world.

A simple formula like visitors + hits + bandwidth / average delays / time yields a number that can either be used in its raw form as horsepower or divided by 5 to give a five star rating. Either way it clearly shows how the site performs when visitors step on the gas pedal and the cylinders start firing, and a big site will yield a much higher number than a small site. This is our objective, is it not?

When Web site capacity can be measured and rated like car engines, the net result will be to raise the bar of quality across the board, benefiting end users as much as it benefits those who depend on it for their livelihood. Driving this need is the ever-increasing rise in the popularity of broadband connections, which only raises the bar of expectation and demand for high performance. Eliminating the World Wide Wait depends on a rating system being established and widely applied. Put the pedal to the metal and cross the finish line. Turn in your numbers, and take your place among the rest – what could be easier?

To participate in a Web Capacity Rating discussion please contact the author at randy@capcal.com. Until then, see you at the races!