Uneven Cluster LoadingMultiple server clusters sometimes exhibit uneven cluster loading. One or more machines in the cluster receive a disproportionate amount of traffic compared to the other servers in the cluster. Figure 13.7 shows a cluster of two application servers, where one application server's CPU is at 90% utilization, while the other server is only 5% busy. Figure 13.7. Uneven cluster loading. From IBM AIM Services Performance Workshop presented by Stacy Joines, 2001, Hursley, U.K. IBM Corp. 2001. Reprinted by permission of IBM Corp.
Uneven cluster loading prevents your site from utilizing all of its potential capacity. As traffic increases , a few servers bear the brunt of the load, while other servers in the cluster remain idle. Let's examine some of the common causes behind this symptom. Network IssuesHow to DiagnoseCheck your network hardware. Load balancers and firewalls involved in your website's construction, in particular, are likely to contribute to this problem. Check for improper configuration of these devices that is potentially contributing to this problem. For example, your firewall might limit traffic flow to some addresses to prevent denial of service attacks. If these limits are misconfigured, the firewall might starve some servers. How to Resolve
Routing IssuesHow to DiagnoseLook at the CPU utilization on each application server. If CPU utilization is unbalanced, look at the number of requests handled by the HTTP server and the application server. Is the number of incoming requests unbalanced? Check the routing policy for the load balancer. How to ResolveAvoid IP affinity routing. Some load balancers allow you to route users repeatedly to a given server based on the user 's IP address. Affinity routing allows users to complete their visits without changing servers and improves performance if the web site uses SSL. Affinity also improves performance if the web application uses HTTP sessions. However, IP affinity causes uneven loading on large, public web sites. Public web site traffic often comes from large ISPs. Large ISP users interact with public web sites through one or more of the ISP's proxy servers. Any user going through the proxy server interacts with the internet using the proxy's IP address. For large ISPs, potentially thousands of users could appear on the internet with the same IP address. Replace IP affinity routing with user-based routing, as shown in Figure 13.8. For example, the IBM WebSphere Application Server provides an affinity routing mechanism to route users to specific web application server clones . The IBM WebSphere Application Server uses proprietary software in the HTTP server plug-in to support the affinity routing. This software does not rely on an IP address, but uses other means to uniquely identify each incoming user, regardless of whether she enters the site via a proxy. Refer to Chapter 3 for more information on load balancing techniques. Figure 13.8. IP-based versus user-based affinity
|