Oracle Loadbalance Issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2014 11:55 AM
Hello,
I am trying to resolve an issue involving load balancing of Oracle using Cisco ACE Loadbalancers. It is not too complicated of a set up, at least I don't think. There are two rservers in a server farm. I have the server farm nested within a sticky http-cookie section so that server persistence using cookies is used. During the basic testing, the load balancing is working as expected. For example, Server 1 is manual brought down and I can verify that new sessions are being served to Server 2 and vice versa.
The issue comes in when, during testing, the user clicks on a module within the main Oracle web based application. Doing this, causes a new session to be created. When this new session is created, I believe it is sent to a new server in the pool instead of sending it to the same server. It needs to be sent to the same server because that is where the user logged into the main application. Because the new server where this new session is being sent to doesn't have any record of the original login it rejects this new session. So what I was told by the Oracle support is is that I need to have the ACE LB load balance by instance instead of session. I don't know if this is possible. I have pasted a sample of the config which is in use. Can someone advise if there is a command which I am not aware of which can accomplish the above stated goal.
probe tcp TCPHTTPTEST
port 80
interval 5
faildetect 2
passdetect interval 5
passdetect count 2
expect status 200
request method get url /forms/lservlet
!
rserver host ORACLE_TEST_1
ip address 10.10.110.101
inservice
rserver host ORACLE_TEST_2
ip address 10.10.110.103
inservice
!
serverfarm host ORACLE_TEST_HTTP_FARM
failaction reassign
predictor leastconns
probe TCPHTTPTOATST
rserver NOVHQERP_TOATST_1 80
inservice
rserver NOVHQERP_TOATST_2 80
inservice
!
sticky http-cookie ORACLE_TEST GROUP8
cookie insert
serverfarm ORACLE_TEST_HTTP
replicate sticky
!
class-map match-all ORACLE_TEST_VIP
2 match virtual-address 172.30.110.57 tcp eq 80
!
policy-map type loadbalance first-match ORACLE_TEST
class class-default
sticky-serverfarm GROUP8
!
policy-map multi-match CLIENT_VIPS
class ORACLE_TEST_VIP
loadbalance vip inservice
loadbalance policy ORACLE_TEST
loadbalance vip icmp-reply active
nat dynamic 1 vlan 110
Thanks in advance,
Adil
- Labels:
-
Application Networking
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2014 12:26 PM
Hi Adil,
When you say new session is created, what do you exactly mean? Does user get a redirect or what happens exactly? ACE will look for cookie and if it is not there, ACE will take the loadbalancing decision. Do you know if client is coming with the same cookie? Have you got persistence rebalance enabled in http parameter map?
Regards,
Kanwal
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2014 12:51 PM
Hi Kanwalsi,
Thank you for your response. When I say new session, I mean a new browser window or tab is launched when a user clicks on a specific module within the main application. Or this can be translated to mean a new quintuple (source ip: source port -> destination ip: destination port and protocol) is initiated between the client and the server.
If you look at the sample config, server persistence using cookies is configured. I don't have persistence rebalance configured. Could this be the missing configuration I need to keep the client to use the same rserver within the same Oracle instance (for example, user logs into a single instance but clicks on multiple modules within an instance)?
Adil
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-15-2014 12:54 PM
Hi Adil,
Yes please. Try to enable persistence rebalance and check again and let me know.
Regards,
Kanwal
