
By Barry Nance
Busy Web sites employ differing approaches for balancing workloads. Netscape Communication Corp., for example, uses a number of duplicate servers, and its Web site can be accessed through many different addresses. Its Navigator browser contains a list of Netscape's IP addresses and selects one at random. The catch is that it may pick the address of a server that's very busy or, worse, offline.
In contrast, Cisco Systems' DistributedDirector divides HTTP traffic loads across multiple servers according to the proximity of the server to the client. This approach also neglects to account for the server's workload.
Resonate claims its Global Dispatch takes the balancing act of Web-site workloads one step further. I tested a late beta version of Global Dispatch 2.0 to see just how well it doles out HTTP messages to multiple high-traffic Web servers.
In my tests, Global Dispatch successfully distributed HTTP traffic to the nearest available, least active Web server. Global Dispatch managed mirrored Web servers located not only in the same room, but also in geographically dispersed locations. It handled the traffic easily, and impressed me with its especially well-designed Java-based administrative interface. Global Dispatch runs on Sun Microsystems SPARC processors (Solaris) and Intel Corp. processors (Windows NT).
On Its Toes Global Dispatch worked with Web servers located anywhere on my network--locally or at a remote site connected by frame relay. It automatically adjusted itself to determine which servers could best handle the HTTP traffic at any given time. In my tests, Resonate's IntelliFlow technology routed HTTP requests to the most suitable POP (point of presence) based on several factors, including client/server latencies, real-time monitoring of server workloads and server availability.
Global Dispatch distributed HTTP to less active servers, avoided failed servers and let me replicate Web content across multiple servers. At my behest, it even partitioned different Web content across different servers. Other load-balancing products won't apportion Web content this way.
Through URL splitting, which directed Web server requests for content from the same neighborhood to the appropriate server, the product let me simulate an enterprise-level Web site with hundreds of physically scattered servers. By monitoring usage and availability, Global Dispatch performed intelligent TCP/IP "handoffs" to send HTTP requests to the servers best able to process them.
Dealing With Difficulties In one test, I taxed a Web server's workload by running CPU-intensive and disk-intensive computer programs. Global Dispatch dutifully and automatically noted the problem and began sending HTTP to other servers for processing.
In another test, I severed a frame relay 1.544-Mbps link between two LANs, leaving only a 56-Kbps WAN connection to one Web server. Global Dispatch quickly noticed the transmission rate downgrade and reconfigured itself to use the WAN-connected Web server sparingly. In the lab, Global Dispatch worked equally well with both Microsoft Corp.'s Internet Information Server (IIS) 4.0 and Netscape's SuiteSpot Enterprise Server 3.0.
Global Dispatch is specialized DNS software. Setting up and configuring the product was very similar to setting up a DNS server. During testing, Global Dispatch agents running on each POP constantly measured their individual workloads and availability. The Global Dispatch scheduler component periodically instructed each agent to report the latency values it had measured. The scheduler noted the workload at the POP in terms of CPU and disk utilization, and it used the results to decide which Web server would receive the next HTTP request. Global Dispatch proved to be flexible when I added capacity by introducing new Web servers to the network.
I liked Global Dispatch's persistent session support, administrative Java-based Web interface, scripting language and efficient HTTP scheduling algorithms. In the lab, I used persistent session support to perform multipage, forms-oriented, Web-based data entry. Global Dispatch routed subsequent Web page forms to the same Web server that had handled the initial Web page entry form. The script language, which I used to automate the management of the Global Dispatch environment, was easy to understand and use. I found the Java-based administrative interface a bit sluggish in this beta version, but I liked its intuitive interface for tracking Global Dispatch's workload management.
I also used Global Dispatch's real-time monitoring utility to watch test data flow to various Web servers. The utility helped me identify potential network connectivity problems related to a particular Web server.
Barry Nance, a computer analyst and consultant for 28 years, is the author of Introduction to Networking (Que, 1997) and Client/Server LAN Programming (Que, 1994). Send your comments on this article to him at barryn@erols.com.
|