Watching the World Wide Web
Watch Out for Bandwidth Hogs
By Jordan Gold
Performance vigilance can be the price you have to pay to have an
effective Web site.
In our last column, we discussed the pitfalls of increasing traffic
and how it can affect the amount of hardware, software and communications
speed that you need on your Web site. Yet some of the popular technologies
consume bandwidth greedily and will force you to increase your site's capabilities
whether traffic increases or not.
These technologies are those that take advantage of the Web's ability to
deliver more than just text online. Because the Web can provide video, sound,
graphics and audio, you have to have the horsepower on your site to deliver
this information in a timely manner. Using a modem, you can barely handle
anything more than text and low-resolution graphics. If your server or communications
line can't keep up with the information you're sending, users visiting your
site will be driven beyond distraction to frustration and even anger. Don't
expect them to visit your site again.
Increased functionality comes in many forms, including Virtual Reality Markup
Language (VRML), Java, Shockwave, video, server push animation and real
audio. A prime example of heavy bandwidth consumption is CU-SeeMe ("see
you/see me"), a realtime video conferencing application from White
Pine Software of Nashua, NH, which drains both video and audio from servers
and communications lines. A single CU-SeeMe session can bring an entire
Internet site to its knees.
Shockwave, an application from Macromedia Corp. of San Francisco, lets users
play multimedia applications on the Web and lets developers use the popular
Macromedia Director to create those applications. (One of the more interesting
Shockwave applications is a "Concentration" game that uses the
characters from the animated film Toy Story. It can be found at http://www.disney.com.)
Shockwave currently works with Netscape 2.0 under Windows and has Macintosh
support (support for other Web browsers is coming soon).
Java, from Sun Microsystems of Mountain View, CA, is a general-purpose programming
language optimized for the Web. It lets developers program applications
on the Web that can be downloaded to a user's machine in the form of platform-independent
applets. In this way, users can perform fairly sophisticated tasks on their
computers instead of your server.
All these are exciting technologies that will expand our sense of what it
is possible to do online. Right now, however, they can cause a Webmaster
plenty of pain.
Is Your Server or Line Taxed?
There are several warning signs that your system is not performing up to
speed. The first is that you notice slow performance. This is a bad sign,
because performance is likely to be worse outside your network than inside.
If customers are accessing your site from around the world, the farther
away they are, the more likely they are to experience poor performance.
You can also check for bad performance by using the uptime and top commands
on your Unix server, which tell you the load on your system. Uptime
measures the current load on your system, during an average of the last
five minutes and during the last 10 minutes. Top shows the processes
that are currently running and how much load they're putting on the system.
Top also shows how much I/O capacity is left and how much memory is left
for swap space.
There are also commands that help to measure T-1 capacity. If your T-1 line
is often reaching 60 percent or more of capacity, you may need to add another.
If you're lucky, customers will tell you that your server is slow; we've
received messages from customers complaining of slow performance. Unfortunately,
sometimes they won't. One major Web site experienced a plateau, with traffic
remaining constant for nearly a month. After some careful checking, the
Webmaster discovered that the system had actually been operating at capacity
for that length of time. An upgrade fixed the problem.
How Do You Fix It?
Whether your site is performing slowly due to increased traffic or the increased
bandwidth of the applications you're running, there are several measures
you can take to improve the situation. If your T-1 line is maxed out, add
another one. If your Web server is slow, you can do several things to fix
it. Adding memory will help to speed up processes that used to have to wait
until the server had enough free memory to handle them. Similarly, increasing
disk storage improves system performance. You can also add additional processors
to the server or replace the processors in the server with faster ones.
Also, take a good look at the applications you're running on your Web server.
Are they efficiently written and fast enough to process requests quickly?
Or is your search engine something that was patched together and contains
so many lines of code that your programmers can't figure it out? As you
add more capabilities in the form of Shockwave, Java and others, pay attention
to the traditional areas of your site. For example, are the graphics on
your site needlessly large? Are there some files that can be decreased in
size so visitors using modems can download them quickly?
Even after you've made your system efficient, which includes having as much
capacity and bandwidth as are necessary, there may be circumstances beyond
your control. The Internet itself can be a bottleneck. In some cases, when
we've investigated customer complaints about slow performance on our server,
we've determined that the culprit was a bottleneck on the Internet between
their connection and our server. There is nothing you can do about that,
except to explain the situation to the customer and apologize. We've learned
that the best practice is to fix the things we can and not worry too much
about the things we can't.
Jordan Gold is publisher of online services for Macmillan
Digital USA, the multimedia arm of Macmillan Publishing, in Indianapolis,
IN. He can be reached at firstname.lastname@example.org.
The Web address is http://www.mcp.com.