Link to home
Start Free TrialLog in
Avatar of Member_2_8014310
Member_2_8014310

asked on

IIS Load Balancing - Equal but not equal utilization

Hello,

I've got two load balanced IIS servers that are balanced via F5 round robin load balancing to a shared SQL Backend and File Server, I will call the IIS servers 1 & 2. Both servers have a pretty evenly distributed load, with 2 normally seeing slightly more connections than 1. Somehow though, 1 seems to be experiencing more worker process CPU load across the application pools.

All IIS Settings appear to be the same, CPU wait time seems to be the same on the worker processes. I'm really struggling here to find any differences between the two sites.

Any help would be appreciated.

-Sam
SOLUTION
Avatar of Dan McFadden
Dan McFadden
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Member_2_8014310
Member_2_8014310

ASKER

Hey Dan, thanks for the quick reply. Is the assessment of current connections to the servers via PerfMon not a viable metric to measure traffic? I have perfmon data for a week of current connections to all sites as well as the troublesome site, and the load seems to be pretty similar across the servers. I will still analyze the logs, specifically time taken, but I figured this would be a somewhat accurate representation of load.

As for the verifications
1. Load configuration is Round Robin, confirmed on the F5
2. I will have to check with the application owners on this
3. I will need to check with the SQL team on this, but I don't believe there would be a DB issue since there is no issue on server 2.

Sam
No, I would not try to measure HTTP traffic load in that manner.  You are only seeing the tcp connection, not the associated HTTP traffic that is traveling along that connection.  A single connection may generate one or more HTTP requests due to the HTTP/1.1 keep alive, which allows a client to keep a connection open.

Every HTTP request will not generate a new connection.  Doing so would be extremely inefficient for both the client and the server.

The real distribution of the load is in the HTTP logs.

To your answer on #3:  If certain HTTP requests seem to land on server 1 more than server 2, there may not appear to be an issue from server 2's point of view.  The imbalance of the worker process resource utilization could be an indication that something is not right on server 1 or server 1 is getting hit with HTTP requests that are taxing server 1 heavily.

Also, are you sure that all your traffic is flowing thru the LBs?  Is there a network path that may allow clients to circumvent your LB devices?

Dan
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Any additional info for this question?

Dan
Any feedback?

Dan
Load balancing using round robin doesn't equate to equal usage.  Round robin only means that new sessions will use another destination than the previous destination.  What you are looking for is a load balancer that takes into account destination load and then routes to the destination that has the lowest load.