Uneven Cluster Loading


Uneven Cluster Loading

Multiple 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.

graphics/13fig07.gif

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 Issues

How to Diagnose

Check 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
  • Simplify your environment and retest. If the problem goes away, systematically add components back into the environment, retesting after each addition. After you pinpoint the offending equipment, work with your network team to reconfigure the equipment in question.

  • Use a network protocol analyzer to isolate any component that is sending uneven traffic levels to your servers. This requires detailed analysis of network conversation traffic, which requires a skilled network person.

Routing Issues

How to Diagnose

Look 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 Resolve

Avoid 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

graphics/13fig08.gif



Performance Analysis for Java Web Sites
Performance Analysis for Javaв„ў Websites
ISBN: 0201844540
EAN: 2147483647
Year: 2001
Pages: 126

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net