Load balancer vs. proxy plug-in
Using WebLogic 6.1 SP2, the proxy plug-in handles the logic of connecting to
the secondary server (stored in a cookie) if the primary is down. How does
this work if you use a hardware load balancer in place of the proxy
plug-ins?
More info at http://edocs.bea.com/wls/docs61/cluster/alteon.html#591902 and
http://edocs.bea.com/wls/docs61/cluster/bigip.html#591902.
Kumar Allamraju wrote:
> Hi:
>
> yeah this was a problem in 5.1
> We relaxed this restriction in 6.x release. This is the main reason WLS
> clustering will now
> work with hardware load balancers.
>
> Starting from 6.x, any server can become a primary server when failover
> happens.
> For e.g. if S1 and S2 are primary & secondary servers for client1 and when
> the HW LD detects
> that the primary is down, it will route the request to any of the servers
> (can be S3, S4, S5) in the cluster
> and that server(e.g. S3) will become the primary server for this
> request(i.e. client1) and get this client's session data
> from S2. At this point S3 become primary and S3 will nominate another server
> (e.g. S4) as a secondary server
> (based on the replication groups, if any)
> We will only do this for active clients. For e.g if client2 doesn't make a
> request when S1 is down, we don't try to
> get it's data and chose a new secondary for him. This is called lazy
> initialization/replication.
>
> Hope it helps.
>
> --
> Kumar
> "Joe" <[email protected]> wrote in message news:[email protected]...
> >
> > Using WebLogic 6.1 SP2, the proxy plug-in handles the logic of connecting
> to
> > the secondary server (stored in a cookie) if the primary is down. How
> does
> > this work if you use a hardware load balancer in place of the proxy
> > plug-ins?
> >
> >
> >
> >
Rajesh Mirchandani
Developer Relations Engineer
BEA Support
Similar Messages
-
Low Cost Load Balancer / Reverse Proxy for 2 Oracle Application Servers
If you have 2 OAS and you need to setup a load balancer / reverse proxy infront of it and you can't use webcache or a hardware load balancer what's the best way to setup a low cost solution that would preserve your session state if you have a OC4J clustered application running on the MT?
Just a quick answer, please:
If you think about Oracle WebCache as a general application, you will find some useful Technical White Papers on http://otn.oracle.com/clusterware They will explain, how Oracle Clusterware can be used to protect any kind of application.
In general, Oracle Clusterware and Oracle WebCache must be installed on the same set of servers (cluster nodes) in this case. Regarding the question of whether or not you can re-use your 2 SUN servers: It depends.
Oracle Clusterware requires shared storage and a private interconnect. Your current infrastructure might need to be reviewed and enhanced in those regards, especially, since your servers are geographically separated as you said.
Just some ideas. Thanks. -
Load Balancing Microsoft Proxy
Hello
We have a CSS11503 and two Microsoft ISA Server 2000 that work as Proxy. We would like to place the ISA Servers behind the CSS so that Client's proxy connections (port 8080) are balanced. It seems to work with navigation.
Now we are trying to make the Microsoft Proxy client work but we can't.
There's a dialog (port 1745) which is MSProxy and it's not properly balanced. The client sends a HELLO to the VIP but the message is answered by the physical address. The proxy also sends its's physical address to the client the message's payload (it should be substitued by the balancer). The client answers with UNKNOWN.
Can anybody help me??if the proxy sends its ip address in the payload, there is no way this will work since the CSS does not nat addresses in the payload for this particular protocol.
Gilles. -
I'm using an Ace 4710 Appliance deployed in One-Armed mode, using Source NAT to loadbalance HTTP request to a couple of Proxy servers.
Everything is working fine, but the thing is that I can't see the Clients IP addresses on Proxy's logs, so I can't keep track of them.
The Interfaces and Nat configs are:
interface vlan 200
description Server-Side-VLAN
bridge-group 5
nat-pool 5 10.1.1.5 10.1.1.5 netmask 255.255.255.0 pat
service-policy input VIPS
interface vlan 300
description Client-Side-VLAN
bridge-group 5
interface bvi 5
ip address 10.1.1.3 255.255.248.0
description Client-Server-Virtual-Interface
ip route 0.0.0.0 0.0.0.0 10.1.1.1
and the policy map looks like this
policy-map multi-match VIPS
class Port80
loadbalance vip inservice
loadbalance policy Port80
nat dynamic 5 vlan 200
Resource assignment:
sticky ip-netmask 255.255.255.255 address both RESOURCE-CLASS
timeout 5
serverfarm Service80
Any suggestions will be appreciated,
ThanksHi Kanwal,
Thanks for your quick reply,
I've already tried this but it didn't work. The problem is that I don't manage the proxy servers so I rely on their skills to see the logs.
The Proxies are Squid. Do you know if they need to do something else on the servers to see that field of the HTTP header?
But I'll try again tomorrow and let you know how it goes.
Thank you again. -
Load balancing by the proxy plugin
Has anyone encountered this before:
I have a cluster of two WLS 5.1 servers, hosting servlets that serve web
requests. The requests are proxied through a web server ( I have tried
Weblogic, Apache as well as IIS). I also have a tool that simulates
concurrent web requests and fires them to the proxy server.
As per documentation, as the load balancing while proxying requests to
servlets is round robin, I expect that the requests are uniformly
distributed across the two weblogic servers. But what I see is a bit
different. In one case I fired 15 requests and found that 11 went to first
server and 4 went to the other.
Second time when I fired again 2 of them went to the first server and 13 to
the second one. I would expect that around half of the total requests
should be routed to each server everytime so that there is a proper load
balancing done by the proxy. I have not changed any configuration related
to the default load balancing algorithm. So I expect it is round-robin.
Has anyone encountered this before ? This happens to me irrespective of
which proxy server I use (i.e which proxy plugin I use). Is there some
other configuration required and I am missing something or is there some
inherent problem with the load balancing of the proxy plugins. Any info
would be highly appreciated.
Thanks
MainakCould you post this in weblogic.developer.interest.plug-in? This group is for
ejb related questions. Thanks.
Bill
Mainak Datta wrote:
Has anyone encountered this before:
I have a cluster of two WLS 5.1 servers, hosting servlets that serve web
requests. The requests are proxied through a web server ( I have tried
Weblogic, Apache as well as IIS). I also have a tool that simulates
concurrent web requests and fires them to the proxy server.
As per documentation, as the load balancing while proxying requests to
servlets is round robin, I expect that the requests are uniformly
distributed across the two weblogic servers. But what I see is a bit
different. In one case I fired 15 requests and found that 11 went to first
server and 4 went to the other.
Second time when I fired again 2 of them went to the first server and 13 to
the second one. I would expect that around half of the total requests
should be routed to each server everytime so that there is a proper load
balancing done by the proxy. I have not changed any configuration related
to the default load balancing algorithm. So I expect it is round-robin.
Has anyone encountered this before ? This happens to me irrespective of
which proxy server I use (i.e which proxy plugin I use). Is there some
other configuration required and I am missing something or is there some
inherent problem with the load balancing of the proxy plugins. Any info
would be highly appreciated.
Thanks
Mainak -
Is there any way to load balance a proxy service in OSB?
For my project, I have an http/wsdl based proxy service that is transforming a pretty large message and routing it to a business service based on a jca adapter. If I monitor my cluster(2 nodes and an admin server) during a load test through soap ui, I only see one of the nodes doing work. The other looks untouched. The url I am hitting is the load balancing url setup on the http tab of the cluster in the weblogic console.
In this doc it says that proxy services are pinned to a single managed server for polling service, but nothing about http:
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/deploy/cluster.html
Is it possible to have the proxy service load balanced across multiple nodes, or is there some other method of doing this?
Thanks for any help.Please refer OSB Deployment Guide -
3.3.1 Load Balancing HTTP Functions in a Cluster
Web services (SOAP or XML over HTTP) can use HTTP load balancing. External load balancing can be accomplished through the WebLogic HttpClusterServlet, a WebServer plug-in, or a hardware router. For an overview of a cluster topology that includes load balancing, see Figure 5-1. Oracle WebLogic Server supports load balancing for HTTP session states and clustered objects. For more information, see "Communications in a Cluster" in Oracle Fusion Middleware Using Clusters for Oracle WebLogic Server.
http://download.oracle.com/docs/cd/E17904_01/doc.1111/e15022/cluster.htm#i1483852
Regards,
Anuj -
Any concern on persistent search through a load balancer?
We have access manager 7 installed which make use of persistent search. My understanding is that persistent search required to maintain a connection so that the server can refresh/update the client whenever entry in the result set changed. If we configure the system to connect to ldap through load balancer, will that cause any problem? What will happen if the load balancer refresh connection after a period of time? Or , if the original ldap server failed and the load balancer try load balance the client to another ldap server, will the persistent search still works?
Also, if the ldap server that the persistent search initially established connection with crashed, will the client get error message and in that case, is it the client's responsibility to re-run/retry the persistent search with other failover ldap server?
Thanks,Your best bet, even when using a hardware load balancer, is to front your DS instances with a pair of load-balanced Directory Proxy Servers. This way, you have physical redundancy at the load balancer level, and intelligent LDAP-aware load balancing at the proxy server level. DPS 6 is very nice in that you can split binds, searches, and updates amongst several backend DS instances, and the connection state is maintained by the proxy, not the DS instance (i.e. if an instance fails, you really shouldn't be forced to rebind, the proxy fails-over to another DS for searching).
We have our Directory Servers on a pair of Solaris 10 systems, each with a zone for a replicated Master DS, and another zone each for a DPS instance. The DPS instances are configured to round-robin binds/searches/updates/etc. among the DS master zones. This works out very well for us. -
Cisco Load balancer and Web Dispatcher to the same portal
Hello Experts,
We have implemented intranet portal with Cisco as the load balancer. Now we need to expose this intranet to the outside world as an extranet portal. So the same portal will be accessed from both intranet and from outside. We are thinking of installing a web dispatcher in the DMZ so that outside users can access the Web Dispatcher URL to access the intranet portal. In effect intranet users will use load balancer and extranet users will use Web Dispatcher to access the same portal. Now my question is if we configure Load Balancer and Web Dispatcher to the same portal, will the portal be able to load balance properly? Is this the right approach?
Thank You,
mansooralip1Dear Andrew,
We need to provide access to our intranet to some outside companies for them to also use some of our portal applications. As per your answer, I understand that I can configure Web Disptacher to talk to the Cisco Load Balancer of our portal. In this case Web Dispatcher will work just as a reverse proxy. But when I discussed this with one of our basis resource, he told me that when we install and configure Web Dispatcher, it always ask for the Message Server URL and Port number, even if I just want to use Web Dispatcher as a Reverse Proxy. If his concerns are valid, I do not think I will be able to configure Web Dispatcher to access the cisco Load Balancer because I cannot put Cisco load banacer URL and port instead of the Message Server URL and Post Number. Can you kindly share your comment on the same?
Now the second part of my question, if Web Dispatcher cannot be configured to talk to Load Balancer(as mentioned by our basis resource), I will have to use two load balancers. One web Dispatcher in DMZ as a Load Balancer *** Reverse Proxy for the external users. Second the internal Cisco Load Balancer for the intranet users. So the same portal will be accessed by two load balancers. My question here is, in this set up, can the portal work efficieintly here by distributing equal loads two both the server instances?
Thank You,
mansooralip1 -
Load Balancer and Web Dispatcher "keepalive page"
I would like our monitoring and load balancer to be able to perform http status check against SAP web dispatchers.
Is there a built in "keepalive" page that can be queried within Web Dispatcher, or will a URL rule be needed?Dear Andrew,
We need to provide access to our intranet to some outside companies for them to also use some of our portal applications. As per your answer, I understand that I can configure Web Disptacher to talk to the Cisco Load Balancer of our portal. In this case Web Dispatcher will work just as a reverse proxy. But when I discussed this with one of our basis resource, he told me that when we install and configure Web Dispatcher, it always ask for the Message Server URL and Port number, even if I just want to use Web Dispatcher as a Reverse Proxy. If his concerns are valid, I do not think I will be able to configure Web Dispatcher to access the cisco Load Balancer because I cannot put Cisco load banacer URL and port instead of the Message Server URL and Post Number. Can you kindly share your comment on the same?
Now the second part of my question, if Web Dispatcher cannot be configured to talk to Load Balancer(as mentioned by our basis resource), I will have to use two load balancers. One web Dispatcher in DMZ as a Load Balancer *** Reverse Proxy for the external users. Second the internal Cisco Load Balancer for the intranet users. So the same portal will be accessed by two load balancers. My question here is, in this set up, can the portal work efficieintly here by distributing equal loads two both the server instances?
Thank You,
mansooralip1 -
Load Balance Plug-in VS Reserve Proxy Plug-in
Hi,
We are trying to setup the connectivity between sun java system web server 7.0 to glass fish 2.1.
Which technology of Load Balance Plug-in VS Reserve Proxy Plug-in is better? What is the advantage one over another? Thanks!It may be helpful to note the lineage of the SAFs:
The GF LoadBalancer SAF is the eldest
The Web Server Reverse Proxy SAF is the next version and is derived from the GF LoadBalancer
The Reverse Proxy feature of WS7 is the third version and is derived from the Web Server Reverse Proxy SAF
The source for the Reverse Proxy SAF in WS7 is visible in the moribund Open Web Server source drop. -
Reverse Proxy plug in and Load Balancer Plug in
Hi,
Can anyone please provide me with an example obj.conf file showing how to combine the reverse proxy plug-in and Load Balancer plug-in.
I would like to use the reverse proxy plug in to detect when static content is requested and provide this from the web server. Requests for dynamic content would then be forwarded to an Application server via the Load balancer plug-in. I have found plenty of documentation on how to configure these plug-in separately but nothing on how to combine the two.smiking
reverse proxy plugin - its job is to forward the requests to another server for a specific task. you can use the webserver 7 . it does forward and limited load balancing (using round robin ) based on the number of servers you provide in the configuration. i would say this is a poor man's setup.
load balancer plugin - some app servers like sun java system app server or web logic provide this plugin so that you can effectively use the back end app server
with both these setup, you can <if> constructs to determine which requests need to be forwarded to the back end server.
I wonder, why do you need both - if both of them is designed to do the same thing. -
Load Balancing with Reverse Proxy Plug-in in SunOne 6.1
Hello
we are configuring our reverse proxy web server SunOn 6.1 for load balancing and we have some conflicting information that we have found on the internet. The options we have found are the following:
1- In one case, it seems that all we need to do is add the destination servers to the servers parameter (quoted, space-delimited). We have read that the proxy server will simply round-robin requests.
2- In another case, we have seen that we have to use an loadbalancer.xml file with the server names and reference the file from both magnus.conf and obj.conf.
I have doubts about the second option because I really think this is configuration in 7.0 not 6.1.
Also, I also need to configure session stickiness but it is not clear how this works. There is an option for sticky cookies that defaults to JSESSIONID if not configured. Does this mean that I will have session stickiness but simply without the use of cookies?
ANY HELP? We need to solve this in the next day.HI,
This may work for you.
obj.conf
<Object name="passthrough1">
Service fn="service-passthrough" servers="http://localhost:8080"
</Object>
<Object name="default">
AuthTrans fn="match-browser" browser="MSIE" ssl-unclean-shutdown="true"
NameTrans fn="assign-name" from="/idm(|/*)" name="passthrough1"
NameTrans fn="ntrans-j2ee" name="j2ee"
NameTrans fn="pfx2dir" from="/mc-icons" dir="D:/Sun/WebServer6.1/ns-icons" name="es-internal"
NameTrans fn="document-root" root="$docroot"
PathCheck fn="nt-uri-clean"
PathCheck fn="check-acl" acl="default"
PathCheck fn="find-pathinfo"
PathCheck fn="find-index" index-names="intro.htm,index.html,home.html,index.jsp"
ObjectType fn="type-by-extension"
ObjectType fn="force-type" type="text/plain"
Service method="(GET|HEAD)" type="magnus-internal/imagemap" fn="imagemap"
Service method="(GET|HEAD)" type="magnus-internal/directory" fn="index-common"
Service method="(GET|HEAD|POST)" type="~magnus-internal/" fn="send-file"
Service method="TRACE" fn="service-trace"
Error fn="error-j2ee"
AddLog fn="flex-log" name="access"
</Object>
<Object name="j2ee">
Service fn="service-j2ee" method="*"
</Object>
<Object name="cgi">
ObjectType fn="force-type" type="magnus-internal/cgi"
Service fn="send-cgi"
</Object>
<Object name="es-internal">
PathCheck fn="check-acl" acl="es-internal"
</Object>
============================================
magnus.conf
# The NetsiteRoot, ServerName, and ServerID directives are DEPRECATED.
# They will not be supported in future releases of the Web Server.
NetsiteRoot D:/Sun/WebServer6.1
ServerName abc
ServerID https-www.abc.com
RqThrottle 128
DNS off
Security off
ExtraPath D:/Sun/WebServer6.1/bin/https/bin
Init fn=flex-init access="$accesslog" format.access="%Ses->client.ip% - %Req->vars.auth-user% [%SYSDATE%] \"%Req->reqpb.clf-request%\" %Req->srvhdrs.clf-status% %Req->srvhdrs.content-length%"
Init fn="load-modules" shlib="D:/Sun/WebServer6.1/bin/https/bin/j2eeplugin.dll" shlib_flags="(global|now)"
Init fn="load-modules" shlib="D:/Sun/WebServer6.1/plugins/passthrough/passthrough.dll" -
How to make IIS plug-in do STICKY load balancing
There are two classes of scalable services: pure and sticky. A pure service
is one where any instance of the application can respond to client requests.
A sticky service is one where a client sends its requests to the same
instance; those requests are not redirected to other instances.
It seems to me that weblogic IIS proxy plug-in does not support the sticky
load balancing.
Could someone give me some information on how to make the proxy sticky?
Is there configuration parameters for this?
Thanks,
-LeiI set the cluster.
It seems to me that there is some problem with the Set-Cookie mechanism of
the plug-in.
Sometime it set the cookie in my browser, sometime it is not.
Even from the wlproxy.log, I could set something like
Fri Aug 03 17:56:12 2001 Hdrs to
client:[Set-Cookie]=[AribaNode=O2tII92qHlP2tpZjUV0m5ued1s6X028cUPu24QcGj1Q25
AE5VXOd!1782877802312707887!ltang.ariba.com!8001!7002; domain=ariba.com;
path=/]
But the cookie is not set in my browser, what might be wrong here?
Thanks,
-Lei
"Eric Gross" <[email protected]> wrote in message
news:[email protected]...
I do believe that this will not work since if clustering is not enabled, a
cookie will not be set on the browser that contains the primary and
secondary server.
You are specifying two different ports in your servers. You need to use
clustering in order to get this functionality with the plugin.Furthermore,
you will achieve fail-over.
Regards,
Eric
"Lei Tang" <[email protected]> wrote in message
news:[email protected]...
Here is what I did for the examples under the bea sample directory.
I put the following in test1/WEB-INF/weblogic.xml
<session-descriptor>
<session-param>
<param-name> CookieDomain </param-name>
<param-value> *.ariba.com </param-value>
</session-param>
<session-param>
<param-name> CookieName </param-name>
<param-value> AribaNode </param-value>
</session-param>
<session-param>
<param-name> CookiePath </param-name>
<param-value> /test1 </param-value>
</session-param>
</session-descriptor>
</weblogic-web-app>
I add the following in iisproxy.ini
# This file contains initialization name/value pairs
# for the IIS/WebLogic plug-in.
WebLogicCluster=ltang.ariba.com:8001,achu.ariba.com:7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2
Debug=ALL
WLLogFile=c:\tmp\wlproxy.log
WlForwardPath=/test1
DynamicServerList=OFF
CookieName=AribaNode
I use SesssionServlet.java as an example
When I involk http://proxy/test1/SessionServlet, I always get 1
if I use
http://proxy/test1/SessionServlet:AribaNode=................................
I could see the session becomes sticky.
If I do not want to use URL rewriting, what should I do in order to makethe
session STICKY
for this example.
Thanks,
-Lei
"Eric Gross" <[email protected]> wrote in message
news:[email protected]...
If you leave the CookieName untouched on the WebLogic side, then there
should be no reason to make the change in the plug-in.
But yes, you need to make sure the cookie names are the same.
Regards,
Eric
"Mark Vaughn" <[email protected]> wrote in message
news:[email protected]...
Actually, you also need to make sure you set the "CookieName" in theplugin.
That let's the plugin read the cookie set by WebLogic to determine
who
the
primary and secondary servers are for that session. Otherwise, theplugin
has no
way of knowing if you are establishing a new session or returning to
an
existing
one. The cookie will tell it if you have a current session and who
it
should
send you to for continuing that session, or failing that session
over.
>>>>
Eric Gross wrote:
Without having clustering enabled, you will not get Sticky load
balancing.
You need to have clustering so that a cookie is sent back to the
client
that
contains information about where it's session is located.
Otherwise,
you
are just going to get round-robin each time.
You can refer to the following page for more information:
http://e-docs.beasys.com/wls/docs61/cluster/servlet.html
Regards,
Eric
"Lei Tang" <[email protected]> wrote in message
news:[email protected]...
WebLogicCluster=machine1:7001,machine2:7001
ConnectTimeoutSecs=20
ConnectRetrySecs=2
Debug=ALL
WLLogFile=c:\tmp\wlproxy.log
WlForwardPath=/test,/test1
DynamicServerList=OFF
I run two standone (Admin server) weblogic servers on machine1
machine2.
Then I deploy application test.war on machine1 first, then onmachine2.
Should I make machine2 as a managed server and machine1 as an
admi
n
server?
Will this make the session sticky?
Thanks,
-Lei
"Eric Gross" <[email protected]> wrote in message
news:[email protected]...
It would help us to know how you have iisproxy.ini configured.
Sticky
load
balancing should work fine if you have the plug-in and
WebLogic
Server
setup
correctly.
How have you setup the plug-in?
Thanks,
Eric
"Lei Tang" <[email protected]> wrote in message
news:[email protected]...
There are two classes of scalable services: pure and sticky.
A
pure
service
is one where any instance of the application can respond to
client
requests.
A sticky service is one where a client sends its requests to
the
same
instance; those requests are not redirected to other
instances.
It seems to me that weblogic IIS proxy plug-in does notsupport
the
sticky
load balancing.
Could someone give me some information on how to make the
proxy
sticky?
Is there configuration parameters for this?
Thanks,
-Lei
.-. Mark Vaughn
/V\ 7024 Corona Dr.
// \\ North Richland Hills, TX 76180
/( )\ [email protected]
^^-^^
"Give a man a fish and you feed him for a day;
teach him to use the Net and he won't bother you for weeks."
Ben Woodbridge -
Apache plug-in won't load balance requests evenly on cluster
I can't seem to get the Apache plug-in to actually do round-robin load balancing
of HTTP
requests. It does random-robin, as I like to call it, since the plug-in will usually
hit all the
servers in the cluster but in a random fashion.
I've got three managed servers:
192.168.1.5:8001 (WL6 on Linux) 192.168.1.2:8001 (WL6 on Linux) 192.168.1.7:8001
(WL6 on Linux)
Admin server on 192.168.1.7:7000 (WL6 on W2k)
My Apache server is 1.3.9 (RedHat SSL) on 192.168.1.52.
The log file for each servers has something like this:
####<Apr 19, 2001 1:18:54 AM MDT> <Info> <Cluster> <neptune> <cluster1server1>
<main> <system> <> <000102> <Joined cluster cluster1 at address 225.0.0.5 on port
8001>
####<Apr 19, 2001 1:19:31 AM MDT> <Info> <Cluster> <neptune> <cluster1server1>
<ExecuteThread: '9' for queue: 'default'> <> <> <000127> <Adding
3773576126129840579S:192.168.1.2:[8001,8001,7002,7002,8001,7002,-1]:192.168.1.52
to the cluster> ####<Apr 19, 2001 1:19:31 AM MDT> <Info> <Cluster> <neptune>
<cluster1server1> <ExecuteThread: '11' for queue: 'default'> <> <> <000127> <Adding
-6393447100509727955S:192.168.1.5:[8001,8001,7002,7002,8001,7002,-1]:192.168.1.52
to the cluster>
So I believe I have correctly created a cluster, although I did not bother to
assign
replication groups for HTTP session replication (yet).
The Apache debug output indicates it knows about all three servers and I can see
it
doing the "random-robin" load balancing. Here is the output:
Thu Apr 19 00:20:53 2001 Initializing lastIndex=2 for a list of length=3 Thu Apr
19
00:20:53 2001 Init Srvr# [1] = [192.168.1.2:8001] load=1077584792 isGood=1077590272
numSk ip=134940256 Thu Apr 19 00:20:53 2001 Init Srvr# [2] = [192.168.1.5:8001]
load=1077584792 isGood=1077590272 numSk ip=134940256 Thu Apr 19 00:20:53 2001
Init Srvr# [3] = [192.168.1.7:8001] load=1077584792 isGood=1077590272 numSk
ip=134940256 Thu Apr 19 00:20:53 2001 INFO: SSL is not configured Thu Apr 19
00:20:53 2001 Now trying whatever is on the list; ci->canUseSrvrList = 1 Thu Apr
19
00:20:53 2001 INFO: New NON-SSL URL Thu Apr 19 00:20:53 2001 general list: trying
connect to '192.168.1.7'/8001 Thu Apr 19 00:20:53 2001 Connected to 192.168.1.7:8001
Thu Apr 19 00:20:53 2001 INFO: sysSend 320 Thu Apr 19 00:20:53 2001 INFO:
Reader::fill(): first=0 last=0 toRead=4096 Thu Apr 19 00:21:06 2001 parsed all
headers
OK Thu Apr 19 00:21:06 2001 Initializing lastIndex=1 for a list of length=3 Thu
Apr 19
00:21:06 2001 ###Response### : Srvr# [1] = [192.168.1.5:8001] load=1077584792
isGood=1077 546628 numSkip=1077546628 Thu Apr 19 00:21:06 2001 ###Response###
: Srvr# [2] = [192.168.1.2:8001] load=1077584792 isGood=1077 546628
numSkip=1077546628 Thu Apr 19 00:21:06 2001 ###Response### : Srvr# [3] =
[192.168.1.7:8001] load=1077584792 isGood=1077 546628 numSkip=1077546628 Thu Apr
19 00:21:06 2001 INFO: Reader::fill(): first=0 last=0 toRead=4096
Basically, the lastIndex=XXX appears to be random. It may do round-robin for 4
or 5
connections but then always it resorts to randomly directing new connections.
This is what the configuration looks like using the plug-in's
/weblogic?__WebLogicBridgeConfig URL:
Weblogic Apache Bridge Configuration parameters:
WebLogic Cluster List:
1.Host: '192.168.1.2' Port: 8001 Primary
General Server List:
1.Host: '192.168.1.2' Port: 8001
2.Host: '192.168.1.5' Port: 8001
3.Host: '192.168.1.7' Port: 8001
DefaultFileName: ''
PathTrim: '/weblogic'
PathPrepend: '' ConnectTimeoutSecs:
'10' ConnectRetrySecs: '2'
HungServerRecoverSecs: '300'
MaxPostSize: '0'
StatPath: false
CookieName: JSESSIONID
Idempotent:
ON FileCaching:
ON ErrorPage: ''
DisableCookie2Server: OFF
Can someone please help to shed some light on this? I would be really grateful,
thanks!
JeffRight - it means that the only configuration which can do perfect round-robin is a
single plugin (non-Apache, or single-process Apache) - all others essentially do random
(sort of, but it can skew test results during first N requests).
Robert Patrick <[email protected]> wrote:
Dimitri,
The way Apache works is that is spawns a bunch of child processes and the parent process
that listens on the port delegates the processing of each request to one of the child
processes. This means that the load-balancing dome by the plugin before the session ID is
assigned does not do perfect round-robining because there are multiple copies of the plugin
loaded in the multiple child processes. This situation is similar to the one you would get
by running multiple proxy servers on different machines with the NES/iPlanet and IIS
plugins.
As I pointed out in my response to Jeff, attempting to address this problem with IPC
machanisms would only solve the single machine problem and most people deploy multiple
proxy servers to avoid a single point of failure...
Hope this helps,
Robert
Dimitri Rakitine wrote:
Hrm. This is strange - I thought that all the information nesessary for a
'sticky' load-balancing (primary/secondary) is contained in the cookie/session info,
so, the particular plug-in implementation should not make any difference. For
load-balancing - statistically, given large enough sampling base, Apache plug-in
should perform just a well as NS one (unless apache is somehow misconfigured and
calls fork() for each new request).
Jeff Calog <[email protected]> wrote:
Robert,
Thanks for the sanity reply, you are definitely right. I used Netscape 3.0 on
Win2k and it did perfect round-robin load balancing to my servers.
<raving>
BEA - ARE YOU LISTENING? STOP TELLING PEOPLE YOUR APACHE PLUG-IN IS A VIABLE
LOAD BALANCING SOLUTION! It's worthless for load balancing!
</raving>
In some tests, as many as 90% of my connections/requests would be sent to a single
server. There should be something in the release notes like "By the way, the
Apache plug-in is only advertised as doing round-robin load balancing, in reality
it doesn't work worth a darn".
I'm surprised they don't used shared memory or some other technique (pipes, sockets,
signals, writing to /tmp, anything) for interprocess communication to fix that.
Jeff
Robert Patrick <[email protected]> wrote:
Yes, the problem lies in the fact that Apache uses multiple processes
instead of
multiple threads to process requests. Therefore, you end up with multiple
processes all
with the WebLogic plugin loaded into them (and they cannot see one another)...
Hopefully, Apache 2.0 when it comes out will allow the plugin to do a
better job...
Jeff Calog wrote:
I can't seem to get the Apache plug-in to actually do round-robin loadbalancing
of HTTP
requests. It does random-robin, as I like to call it, since the plug-inwill usually
hit all the
servers in the cluster but in a random fashion.
I've got three managed servers:
192.168.1.5:8001 (WL6 on Linux) 192.168.1.2:8001 (WL6 on Linux) 192.168.1.7:8001
(WL6 on Linux)
Admin server on 192.168.1.7:7000 (WL6 on W2k)
My Apache server is 1.3.9 (RedHat SSL) on 192.168.1.52.
The log file for each servers has something like this:
####<Apr 19, 2001 1:18:54 AM MDT> <Info> <Cluster> <neptune> <cluster1server1>
<main> <system> <> <000102> <Joined cluster cluster1 at address 225.0.0.5on port
8001>
####<Apr 19, 2001 1:19:31 AM MDT> <Info> <Cluster> <neptune> <cluster1server1>
<ExecuteThread: '9' for queue: 'default'> <> <> <000127> <Adding
3773576126129840579S:192.168.1.2:[8001,8001,7002,7002,8001,7002,-1]:192.168.1.52
to the cluster> ####<Apr 19, 2001 1:19:31 AM MDT> <Info> <Cluster><neptune>
<cluster1server1> <ExecuteThread: '11' for queue: 'default'> <> <><000127> <Adding
-6393447100509727955S:192.168.1.5:[8001,8001,7002,7002,8001,7002,-1]:192.168.1.52
to the cluster>
So I believe I have correctly created a cluster, although I did notbother to
assign
replication groups for HTTP session replication (yet).
The Apache debug output indicates it knows about all three serversand I can see
it
doing the "random-robin" load balancing. Here is the output:
Thu Apr 19 00:20:53 2001 Initializing lastIndex=2 for a list of length=3Thu Apr
19
00:20:53 2001 Init Srvr# [1] = [192.168.1.2:8001] load=1077584792 isGood=1077590272
numSk ip=134940256 Thu Apr 19 00:20:53 2001 Init Srvr# [2] = [192.168.1.5:8001]
load=1077584792 isGood=1077590272 numSk ip=134940256 Thu Apr 19 00:20:532001
Init Srvr# [3] = [192.168.1.7:8001] load=1077584792 isGood=1077590272numSk
ip=134940256 Thu Apr 19 00:20:53 2001 INFO: SSL is not configured ThuApr 19
00:20:53 2001 Now trying whatever is on the list; ci->canUseSrvrList= 1 Thu Apr
19
00:20:53 2001 INFO: New NON-SSL URL Thu Apr 19 00:20:53 2001 generallist: trying
connect to '192.168.1.7'/8001 Thu Apr 19 00:20:53 2001 Connected to192.168.1.7:8001
Thu Apr 19 00:20:53 2001 INFO: sysSend 320 Thu Apr 19 00:20:53 2001INFO:
Reader::fill(): first=0 last=0 toRead=4096 Thu Apr 19 00:21:06 2001parsed all
headers
OK Thu Apr 19 00:21:06 2001 Initializing lastIndex=1 for a list oflength=3 Thu
Apr 19
00:21:06 2001 ###Response### : Srvr# [1] = [192.168.1.5:8001] load=1077584792
isGood=1077 546628 numSkip=1077546628 Thu Apr 19 00:21:06 2001 ###Response###
: Srvr# [2] = [192.168.1.2:8001] load=1077584792 isGood=1077 546628
numSkip=1077546628 Thu Apr 19 00:21:06 2001 ###Response### : Srvr#[3] =
[192.168.1.7:8001] load=1077584792 isGood=1077 546628 numSkip=1077546628Thu Apr
19 00:21:06 2001 INFO: Reader::fill(): first=0 last=0 toRead=4096
Basically, the lastIndex=XXX appears to be random. It may do round-robinfor 4
or 5
connections but then always it resorts to randomly directing new connections.
This is what the configuration looks like using the plug-in's
/weblogic?__WebLogicBridgeConfig URL:
Weblogic Apache Bridge Configuration parameters:
WebLogic Cluster List:
1.Host: '192.168.1.2' Port: 8001 Primary
General Server List:
1.Host: '192.168.1.2' Port: 8001
2.Host: '192.168.1.5' Port: 8001
3.Host: '192.168.1.7' Port: 8001
DefaultFileName: ''
PathTrim: '/weblogic'
PathPrepend: '' ConnectTimeoutSecs:
'10' ConnectRetrySecs: '2'
HungServerRecoverSecs: '300'
MaxPostSize: '0'
StatPath: false
CookieName: JSESSIONID
Idempotent:
ON FileCaching:
ON ErrorPage: ''
DisableCookie2Server: OFF
Can someone please help to shed some light on this? I would be reallygrateful,
thanks!
Jeff
Dimitri--
Dimitri -
WLS proxy plugin does not load balance
I have a cluster created with two app servers in separate boxes and a Weblogic proxy plug-in to forward the client requests to the servers. However, the proxy doesn't distribute the load equally. Very often 90% of the user sessions go to one server and 10% to the other. Both boxes have the same hardware specs.
Does the WLS plugin really support round-robin load balancing ? I'd appreciate any information to solve this problem.
Thanks
- Miguel
I'm using WLS 6.1 SP2.
Are you load balancing the web servers? What kind of web servers are you
using?
Miguel Vilar wrote:
>I have a cluster created with two app servers in separate boxes and a Weblogic proxy plug-in to forward the client requests to the servers. However, the proxy doesn't distribute the load equally. Very often 90% of the user sessions go to one server and 10% to the other. Both boxes have the same hardware specs.
>Does the WLS plugin really support round-robin load balancing ? I'd appreciate any information to solve this problem.
>Thanks
>- Miguel
>I'm using WLS 6.1 SP2.
>
Maybe you are looking for
-
Apple Care works? For me don't
Apple Care is not working for me. I call then and they are saying that they can't unfortunately resolve my problem. I have an Imac 21.7 and it's with an yellow mark behing the glass of the monitor. I bought the computer on agost 20th, and they are sa
-
Printing a pdf from a marked-up pdf.
Acrobat Pro 9 no longer lets me print a pdf from a marked-up pdf. Any suggestions?
-
we have a customer with 2 different versions of cisco waas one is running 4.1 the other 4.0 both with their own CM the CM of the 4.0 network should disappear and the sites should be migrated to the CM 4.1 the question is how to do this as for 4.0 you
-
I can't get my bluetooth to work after upgrading my iphone 4 to ios 6
After I upgraded my iphone 4 to IOS 6, i can't get any of my bluetooth connections to work. Both my headset and my car are not recognized. I validated that Bluetooth is on in the configuration, but it just keeps searching for devices and never reco
-
Redirecting error message on SQL Plus
When using SQL Plus, is there a way to send error messages to my c:\ drive vs. the server?