07-22-2013 10:17 AM
We are facing slowness an http application which is due to connection imbalance. This setup has one set of Load balancer and a proxy in DMZ where the connections gets terminated from the users and a load balancer inside LAN which load balances between the end point servers. All user connections terminate on the DMZ load balancer / proxy and proxy connects back to the internal load balancer VIP. (By collating a number of connections to very few - default proxy behavior) . Internal load balancer VIP does load balancing based on the number of connections in a least loaded manner and this load balancer doesn’t see how many sessions are beneath each connections and it distributes each connection to server underneath. Thus if one connection has around 100 sessions, another may have only a few and each of this gets forwarded to the end server causing the imbalance.
Is there a way that this imbalance can be tackled in this setup.
Users --> Proxy ---> Load balancer (Cisco ACE) --> Server 1
Server 2
Server 3
Least Connections predictor
HTTP Cookie insert sticky
07-23-2013 04:19 AM
Hi,
Persistance rebalance should solve the issue for you.
The persistent-rebalance function is required if you have proxy users and the proxy shares one TCP connection between multiple users.
With this behavior, inside a single connection you will see different cookies. Therefore, for each cookie, ACE needs to first detect the new cookie and then loadbalance to the appropriate server.
this is from the admin Guide :
The following example specifies the parameter-map type http command to enable HTTP persistence after it has been disabled:
host1/Admin(config)# parameter-map type http http_parameter_map
Host1/Admin(config-parammap-http)# persistence-rebalance
Please refer the following link for more info :
hope that helps,
Ajay Kumar
07-30-2013 06:29 AM
Hi Ajay,
I do have this option enabled in the policy. Persisitance imbalance.
As you said this should tackle any requests which are coming through single TCP connection.
Is there any load balancing algorithm which can tackle this requirement. Load balance based on HTTP sessions per user other than that of TCP connections.
Thanks
Shobith
07-30-2013 06:41 AM
Hi Shobith,
"persistence-rebalance strict" is the one which will help fix the issue.
When the persistence-rebalance feature is enabled on the ACE, it does not load balance successive GET requests on the same TCP connection unless it matches a load-balancing class map that is different from the load-balancing class map matched by the previous request (see the "Configuring HTTP Persistence Rebalance" section). To configure the ACE to load balance each subsequent GET request on the same TCP connection independently, use the persistence-rebalance strict command in parameter map HTTP configuration mode.
The syntax of this command is as follows:
persistence-rebalance strict
This command allows the ACE to load balance each HTTP request to a potentially different Layer 7 class or real server.
For example, to enable the strict persistence rebalance feature, enter:
host1/Admin(config)# parameter-map type http http_parameter_map
host1/Admin(config-parammap-http)# persistence-rebalance strict
To reset persistence to the default setting of disabled, enter:
host1/Admin(config-parammap-http)# no persistence-rebalance
To change to persistence rebalance behavior that does not load balance successive requests to the same connection, use the persistence-rebalance command.
hope that helps.
regards,
Ajay Kumar
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide