Ironport Cluster Load Balancing
Anyone knows if it is possible to configure a load balancing of two C100 in a cluster.
I configured the second machine in the cluster two weeks ago. when I look in the stats, the second machine does nothing. the first machine is on 3% CPU and whe have about 120000 mail per day.
is there any way to configure the cluster that the two machine share their work ? or is the cluster only for fail-safe ?
Hello,
Most mail admins know how to use MX records for load balancing (and redundancy) on their mail servers.
Less people know you can use MX also for your outgoing mail traffic.
Just add a MX record to your local DNS and specify a name for the record. (i.e. outgoingMX.local.domain) put the IP's or hostnames of your internal Ironport card in the data and configure your internal mail system to deliver it’s outgoing mail to smarthost outgoingMX.local.domain
Works for most mail systems. I'm sure it is working for Exchange (5.5. and higher) and Domino (5 and higher)
Regards, Steven
Similar Messages
-
Cluster / Load balancing and no. of user
Hi
Just wondering what kind of cluster / load balancing setup is need for e.g. 50 concurrent users ? and what's the deciding factor that will justify additional presentation service / BI server to be added to an existing cluster farm ?
Or maybe if you guys could share what's the cluster setup that you have and the number of users that would greatly help me to get a rough idea of the kind of setup needed. E.g. 2x presentation services and 2x BI server with 100 users, estimated 50 concurrent users, etc..
Thanks in advance !If there are 50 concurrent users, I don't think that you need to go for clustering. You can use more resources like increasing the RAM size and increasing th CPU count.
If you opt for 64 bit operating system ,it would give you better performance.
Regards
Rajesh J -
Cluster/load balance weblogic using L4 switch like Alteon
Can I install weblogic as a standalone server on 2 or more server and
cluster/load balance weblogic using a hardware balancer like Alteon Layer4
switch (of course I will use a centralised storage to maintain a single copy
of data which will eliminate syncronizing problem among servers)?
BTW, Alteon can support persistent binding. The reason to use a Layer 4
switch is that it is very fast, and this will make the application server
layer transparent to client, the client can think this is a single server
(it don't need to know whether there are 5 weblogic servers or 20 weblogic
servers behind switch), and hardware are more reliable, sacalable and fast.
I am not sure whether the normal weblogic clustered servers need to
share/exchange info on the running memory, if it does, this approach will
fail.
So My understanding is:
Alteon with WL 6.0 can do load balancing for:
entity bean
stateless session bean
but can't do load balancing for:
stateful session bean (will persistent/sticky binding solve part of the
problem except fail-over)
in-memory replication
am I right?
Pao Wan
"Don Ferguson" <[email protected]> wrote in message
news:[email protected]...
> It is possible to configure Alteon to understand the WebLogic 6.0 cookie
format
> and have a proxy-less cluster configuration that performs load balancing
and
> fail over of session state.
>
> It is also possible to configure Alteon's hardware-based SSL decryption
for really
> fast HTTPS processing.
>
> We are working on a white paper that describes how to configure Alteon for
use
> with WebLogic Server 6.0.
>
> -Don
>
>
> Robert Patrick wrote:
>
> > Cameron,
> >
> > I believe that BEA tested their new proxy-less web clustering solution
with
> > load-balancing products from Alteon and several other vendors
(Arrowpoint ?--
> > which is now Cisco). However, it was my understanding that these
products do
> > not understand how to decrypt our cookies and extract IP addresses but
rather
> > these products are capable of doing sticky load balancing based on the
Session
> > ID contained in our cookie.
> >
> > If this is correct, then what this means is that when the primary server
fails,
> > the request will be routed to "some other server" in the cluster but not
> > necessarily the one that holds the secondary copy of the user's session.
The
> > change in WLS 6.0 is that WLS will accept these misdirected requests and
it will
> > go out to the correct server and "migrate" the session to the server
that
> > received the request making that server the new primary (and
regenerating the
> > Session ID).
> >
> > I am sure if this is wrong that our product manager or one of our
engineers will
> > correct me (please?)...
> >
> > Hope this helps,
> > Robert
> >
> > Cameron Purdy wrote:
> >
> > > Hi Robert,
> > >
> > > FWIW - There are several vendors (Primeon? Arrowpoint?) who claim to
> > > understand WL cookies and parse the IPs out. (I haven't verified it
myself
> > > though.)
> > >
> > > --
> > > Cameron Purdy
> > > Tangosol, Inc.
> > > http://www.tangosol.com
> > > +1.617.623.5782
> > > WebLogic Consulting Available
> > >
> > > "Robert Patrick" <[email protected]> wrote in message
> > > news:[email protected]...
> > > > There are not any hardware vendors (yet) that can understand
WebLogic's
> > > session
> > > > ID. While you might be able to use the load balancer without the
proxy on
> > > 5.1,
> > > > you would not be able to take advantage of in-memory replication
failover
> > > unless
> > > > you only had two machines in the cluster. Like you said, everything
will
> > > work
> > > > with 6.0 regardless of how the load balancer works (though you
really,
> > > really
> > > > want to minimize the number of times the requests come into the
wrong
> > > server by
> > > > utilizing sticky load balancing).
> > > >
> > > > Hope this helps,
> > > > Robert
> > > >
> > > > Cameron Purdy wrote:
> > > >
> > > > > Rajesh,
> > > > >
> > > > > I meant that it would work in lieu of a proxy (such as Apache or
NES)
> > > with
> > > > > 5.1, but only if both the hw load balancer and WL were set up to
use
> > > > > cookies. Some hw load balancers rely on IP and that doesn't
work -- AOL
> > > > > connections for example can change the source IP on the fly.
Others
> > > produce
> > > > > their own cookies, that will work. Some even can use WL cookies
and
> > > parse
> > > > > them to determine where to go. According to what I've read, with
6.0 if
> > > the
> > > > > WL primary dies or for some other reason the request shows up at
the
> > > "wrong"
> > > > > server, it will be handled correctly. That means you are pretty
safe
> > > with
> > > > > hw load balancers and 6.0, almost regardless of the sticky
> > > implementation
> > > > > that they use.
> > > > >
> > > > > --
> > > > > Cameron Purdy
> > > > > Tangosol, Inc.
> > > > > http://www.tangosol.com
> > > > > +1.617.623.5782
> > > > > WebLogic Consulting Available
> > > > >
> > > > > "Rajesh" <[email protected]> wrote in message
> > > > > news:[email protected]...
> > > > > >
> > > > > > Hi Cameron,
> > > > > > Can you elaborate on how it would work with WL5.1 since no in
memory
> > > > > replication
> > > > > > would happen if the servers are standalone.
> > > > > >
> > > > > > "Cameron Purdy" <[email protected]> wrote:
> > > > > > >Yes, this will work fine with WL6. (WL5.1 will work fine as
long as
> > > > > cookies
> > > > > > >are used by the load balancer.)
> > > > > > >
> > > > > > >--
> > > > > > >Cameron Purdy
> > > > > > >Tangosol, Inc.
> > > > > > >http://www.tangosol.com
> > > > > > >+1.617.623.5782
> > > > > > >WebLogic Consulting Available
> > > > > > >
> > > > > > >
> > > > > > >"paowan" <[email protected]> wrote in message
> > > > > > >news:[email protected]...
> > > > > > >> Can I install weblogic as a standalone server on 2 or more
server
> > > and
> > > > > > >> cluster/load balance weblogic using a hardware balancer like
Alteon
> > > > > Layer4
> > > > > > >> switch (of course I will use a centralised storage to
maintain a
> > > single
> > > > > > >copy
> > > > > > >> of data which will eliminate syncronizing problem among
servers)?
> > > > > > >>
> > > > > > >> BTW, Alteon can support persistent binding. The reason to use
a
> > > Layer
> > > > > > >4
> > > > > > >> switch is that it is very fast, and this will make the
application
> > > > > server
> > > > > > >> layer transparent to client, the client can think this is a
single
> > > > > server
> > > > > > >> (it don't need to know whether there are 5 weblogic servers
or 20
> > > > > weblogic
> > > > > > >> servers behind switch), and hardware are more reliable,
sacalable
> > > and
> > > > > > >fast.
> > > > > > >>
> > > > > > >> I am not sure whether the normal weblogic clustered servers
need to
> > > > > > >> share/exchange info on the running memory, if it does, this
> > > approach
> > > > > will
> > > > > > >> fail.
> > > > > > >>
> > > > > > >>
> > > > > > >
> > > > > > >
> > > > > >
> > > >
>
-
Question Cluster/Load balancing
Question about iplanet load balancing/Cluster:
Following discussion are based on iAS C++ engine(kcs).
We have four web servers and two iAS servers:
Web1, Web2, Web3, Web4
iAS1, iAS2
All machines run Solaris 8, web server is iWS4.1 SP6,
Application server is iAS6.0 SP2, and both iAS boxes have
same hardware configuration.
1. What's the best load balancing method for this structure?
Per Server Response Time(Web Connector Driven)
Per Component Response Time(Web Connector Driven)
Round Robin(Web Connector Driven)
User Defined Criteria(iAS Driven)
2. What's the criteria for the kxs engine to choose the kcs
engine to sent request if we set Web Connector Driven
load balancing?
3. If we set iAS driven load balancing, what's the criteria
for the web connector used to choose kxs?
4. We got a problem when run load testing for an AppLogic
in this cluster, one iAS CPU average usage got almost
100%, but the other one is just 70%.
We used Per Server Response Time load balancing method.
Thanks.
Hengsee answers inline
hcao wrote:
Question about iplanet load balancing/Cluster:
Following discussion are based on iAS C++ engine(kcs).
We have four web servers and two iAS servers:
Web1, Web2, Web3, Web4
iAS1, iAS2
All machines run Solaris 8, web server is iWS4.1 SP6,
Application server is iAS6.0 SP2, and both iAS boxes have
same hardware configuration.
1. What's the best load balancing method for this structure?
Per Server Response Time(Web Connector Driven)
Per Component Response Time(Web Connector Driven)
Round Robin(Web Connector Driven)
User Defined Criteria(iAS Driven)
it depends on the characteristics and behaviour of your application
>
2. What's the criteria for the kxs engine to choose the kcs
engine to sent request if we set Web Connector Driven
load balancing?
kxs always does round robin to the kjs or kcs engines. The webconnector
selects the kxs to which to send to.
>
3. If we set iAS driven load balancing, what's the criteria
for the web connector used to choose kxs?
as specified by your criteria in the iAS driven section.
The ias instance will send its current list of preferences for ias
intances it got from the criteria to the webconnector. This information
is dynamic and updated constantly.
>
4. We got a problem when run load testing for an AppLogic
in this cluster, one iAS CPU average usage got almost
100%, but the other one is just 70%.
We used Per Server Response Time load balancing method.
again, this can be a valid result depending on the way your applogics
are written. Are they CPU bound, I/O bound or DB bound? Since individual
components execute differently and you specified to use the average of
those results to determine load balancing this can be a valid result
because differences in execution times of your applogics.
>
Thanks.
Hengregards
Han-Dat
Consulting Project Engineer
iPlanet Professional Services - ANZ
iPlanet e-commerce Solutions
- A Sun|Netscape Alliance
Sun Microsystems Australia Pty Ltd -
Cluster (Load balancing) implementation in obiee 10g
Hi All,
We need to implement clustering (Active-Active for Load balancing) in our project. We use both analytics and bi publisher. We also need to deploy analytics/bipublisher in to weblogic server for SSO purpose.
Now we have two machines.
As of now We did the installation of obiee10g (while installing we selected "Complete" button) in both machines. Could any body tell us how to implement clustering w.r.t to weblogic.
To proceed futher we need to know..
+1. Did normal clusrtering method in 10g with oc4j server differs when we deploy application in weblogic server..?+
+2. Can I use any of the two machines to create a shared folder and place rpd to give the path in REPOSITORY_PUBLISHING_DIRECTORY or should I use third machine other than these two machine..???+
Any help is greatly apprciated.
Thanks & Regards,Hi User,
Did you configured clustering wrt to OC4j or WLS..?
A. Weblogic.
2. Can you tell me how it differs wrt WLS..??
A. We can't explain here please refer the following link.
http://www.iwarelogic.com/2010/01/supply-chain-management-w-r-t-oracle-applications-312/
http://docs.oracle.com/cd/E23943_01/upgrade.1111/e10126/wls_oc4j_comparisons.htm
3.On top of these two machines we have a virtual IP?
A. You can use virtual Ip's.
In your project Weblogic also clustering mode am I write?
What could be the process.. First we need to follow the clustering method as if there was no WLS and later deploy the application and need to do the changes wrt to WLServer (or) First we need to deploy the application in WLServer and for clustering need to do changes in/wrt to WLServer..??
A . First we need to deploy the application in WLServer and for clustering need to do changes in/wrt to WLServe.
Note: As per my knowledge please implement this way.
1. Deploy analytic.war in your weblogc.
2. If it is possible please implement Weblgoc clustering also.
3. SSO implementation.
4. Cluster implementation.
This is the way am implemented in my project.
My project tool details.
1. Weblogic
2. OBIEE 10.1.3.4.1
3. Oracle 11g
4. OS - AIX
If you have any concerns please post me.
Award points it is useful.
Thanks,
Satya
Edited by: satya R on Apr 1, 2012 9:03 PM -
IIS WLS6.1 SP3 and cluster load balancing
I am setting up an installation with IIS, WLS6.1 SP3 using a cluster. Monitoring
the instances in the cluster the entire load is going to one instance. If that
instance is stopped the other takes over, no problem. If I set DynamicServerList
to off in the iisproxy.ini file the load balances correctly.
Is there a way to ensure WLS sends the dynamic server list as advertised? Failing
that what are the problems that may arrise from not using the Dynamic Server List?I would like to see the entries in your iisproxy.ini file?
Can you post 'em?
Kumar
Danny Newman wrote:
I am setting up an installation with IIS, WLS6.1 SP3 using a cluster. Monitoring
the instances in the cluster the entire load is going to one instance. If that
instance is stopped the other takes over, no problem. If I set DynamicServerList
to off in the iisproxy.ini file the load balances correctly.
Is there a way to ensure WLS sends the dynamic server list as advertised? Failing
that what are the problems that may arrise from not using the Dynamic Server List? -
Cluster load balancing problems under heavy load.
Hi,
I am running 2 WLS 5.1 sp6 application servers on Solaris 7.
2 Apache 1.3.12/Raven SSL webservers using the Raven proxy (also
Solaris).
My problem is this:
The application appears to be load balancing and replicating
session information fine under regular load. But when a heavy
load is put on the system, load balancing seems to stop.
One of the application servers processes all of the sessions
while the other is just replicating session info. The CPU
usage on the server doing all of the work was 60%, and on the
secondary server it was only 2.5%.
Do I have something set incorrect? I would think that if load
balancing works for a small load on the system, it should be
the same for a large load.
Has anyone seen this type of behavior before?
Thanks
1.5G of heap is quite huge. Take a thread dump when you see the slow down.
Does each clients start a new session and maintain it for the duration of the test.
There is no property called weblogic.cluster.bindAddr
-- Prasad
Nick Barbato wrote:
> Hi,
>
> There are no 'timed out server" messages in the log. I don't think
>
> that is the problem because I can see the secondary server
>
> replicating session information.
>
> It is jdk1.2.2_005a. The java options I am using are:
>
> java $THREAD_ARG \
> -ms1536m -mx1536m \
> -classpath "$CYGENT_SYS_CP" \
> -Dweblogic.class.path="$CYGENT_WLS_CP" \
> -Dweblogic.system.home=$CYGENT_ROOT/runtime \
> -Dweblogic.system.propertiesFile=$CYGENT_ROOT/runtime/conf/weblogic/weblogic.properties
>
> \
> -Djava.security.manager \
> -Djava.security.policy==$CYGENT_ROOT/runtime/conf/cygent.policy
> \
> -Dcygent.root=$CYGENT_ROOT/runtime \
> -Dweblogic.cluster.enable=true \
> -Dweblogic.cluster.name=mycluster \
> -Dweblogic.cluster.bindAddr=166.37.216.142 \
> -Dweblogic.cluster.multicastAddress=237.0.1.0 \
> cygent.Server $CYGENT_ROOT/runtime/conf/
>
> Thanks,
> Nick
>
> "Mike Reiche" <[email protected]> wrote:
> >
> >I've seen this before - when one WL instance drops out
> >of the
> >cluster.
> >
> >Look for 'Timed out server' messages in weblogic.log.
> >
> >What JDK are you using? What JVM options.
> >
> >Mike
> >
> >"Nick Barbato" <[email protected]> wrote:
> >>
> >>Hi,
> >>
> >>I am running 2 WLS 5.1 sp6 application servers on Solaris
> >>7.
> >>2 Apache 1.3.12/Raven SSL webservers using the Raven
> >proxy
> >>(also
> >>Solaris).
> >>
> >>My problem is this:
> >>The application appears to be load balancing and replicating
> >>session information fine under regular load. But when
> >>a heavy
> >>load is put on the system, load balancing seems to stop.
> >>One of the application servers processes all of the sessions
> >>while the other is just replicating session info. The
> >>CPU
> >>usage on the server doing all of the work was 60%, and
> >>on the
> >>secondary server it was only 2.5%.
> >>
> >>Do I have something set incorrect? I would think that
> >>if load
> >>balancing works for a small load on the system, it should
> >>be
> >>the same for a large load.
> >>
> >>Has anyone seen this type of behavior before?
> >>
> >>Thanks
> >
-
Hi there ! Could somebody guide me a bit on how to load balance Mysql servers ? Actually we can do read-only querys but on other operations the Mysql client we use says that "can't lock file". I think the balancer send that stream to one Mysql server but then when It goes back it doesn't know what is the correct place to send it. Thanks. We are doing it with a CSS, and we have two Mysql servers to process the queries.
There are a couple of ways of scaling out using Mysql clusters and load balancing. The most common is to create a pool of read only servers, and then on the initiator split ro and rw transactions to seperate vips in your load balancer.
For redundant RW transactions you can either do a Hot Hot setup on your mysql servers, or do a publisher subscriber, where you have a hard failover. In that case you need to configure your loadbalancers to only use the publisher, and to only use the subscriber if the publisher is dead.
--Colin -
Jms in cluster / load balancing and failover
Did I get it right ???
I have 1 admin server and 4 managed servers in a 2 clusters, a development cluster
and a test cluster.
I now want to have loadbalancing with my jms server and I want to be able to migrate
my jms server in case of failer.
for each cluster I have created
connectionFactory targeted to the cluster
Distributed destination with 2 queue members
One JMSServer migratable targeted on managed server 1, with destination 1 from
the ditributed destination
One JMSServer migratable targeted on managed server 2, with destination 2 from
the ditributed destination
I expect this to make loadbalancing between the 2 servers in the cluster, and
I can migrate the jms server if one of the server fails to the running server.
One thing is now.....If one server fails and I migrate the jms server to the other
server that is running, and I then restart the server that was down, what is then
happening, do I then have 3 jms servers ???
[config.xml]
"Kris" <[email protected]> wrote in message news:[email protected]...
>
> "Kawaljit Singh Sunny" <[email protected]> wrote:
> >
> >"Kris" <[email protected]> wrote in message
> >news:[email protected]...
> >>
> >> Did I get it right ???
> >>
> >> I have 1 admin server and 4 managed servers in a 2 clusters, a
development
> >cluster
> >> and a test cluster.
> >> I now want to have loadbalancing with my jms server and I want to be
> >able
> >to migrate
> >> my jms server in case of failer.
> >>
> >> for each cluster I have created
> >> connectionFactory targeted to the cluster
> >> Distributed destination with 2 queue members
> >> One JMSServer migratable targeted on managed server 1, with destination
> >1
> >from
> >> the ditributed destination
> >> One JMSServer migratable targeted on managed server 2, with destination
> >2
> >from
> >> the ditributed destination
> >
> >If the server where your JMSConnections are loadBalanced to goes down,
> >the
> >producers and consumers using this JMSConnection are closed.
> >You have to recreate these producers and consumers.
> >If the server where your Destination resides goes dow, the consumers
> >are
> >closed.
> >If the producers JMSConnection is not on this server, the producer stays
> >up.
> >
> >>
> >>
> >> I expect this to make loadbalancing between the 2 servers in the
cluster,
> >and
> >> I can migrate the jms server if one of the server fails to the running
> >server.
> >>
> >> One thing is now.....If one server fails and I migrate the jms server
> >to
> >the other
> >> server that is running, and I then restart the server that was down,
> >what
> >is then
> >> happening, do I then have 3 jms servers ???
> >
> >No you still have 2 JMSServers. JMS Migration is manual.
> >
> >>
>
> you say : No you still have 2 JMSServers. JMS Migration is manual.
>
> But if I manual migrate the jmsserver that was down to the running wls
server,
> that already have one jms server running, this wls server must then have 2
jms
> servers. And I boot the wls server that hosted the jms server that was
down, this
> will now have a running jms server. isn't that 3 jms servers ?
Once you migrate a JMSServer from a WeblogicServer1 to WeblogicServer2,
and then you boot WeblogicServer1, this JMSServer which was migrated should
NOT be on WeblogicServer1.
(You have migrated the JMSServer from WeblogicServer1 to WeblogicServer2)
>
> But I was thinking about that I could spare the migration part. If I have
2 wls
> servers and a jms server on each of them, and a destributed destination
with 2
> queue members that are persistent in a database. If a wls og just a jms
server
> goes down, I just have to reboot the server and it will run again. This
way I
> dont have to think about migration, or what ?
Yes that is true.
Irrespective of whether you have migration or not,
only thing you need to do take care is to reconnect to weblogic server, if
the the server where your JMSConnection is loadBalanced to goes down.
There is no failover of JMSConnections. Producers inside this JMSConnection
will be closed. You will have to create a new JMSConnection and a new
Producer and continue with your production of JMS Messages.
-sunny
-
Who takes care of load balancing work in weblogic cluster ?
Hi Folks,
How load balancing is handled internally by weblogic cluster ? Does Admin server takes care of cluster load balancing ? According to me Admin has nothing to do with load balancing in cluster . Manage server continue to run even when Admin server is down.
I am not looking for explanation about different load balancing algorithm. I am interested in who executes those algorithms in weblogic cluster and how .
Cheers
B.Hi,
You need to configure loadbalancer and there are different ways to do this. Please go through the below thread to user Apache Loadbalancer.
problem with Apache Proxy plugin
Regards
Suresh. -
Distributed Queue - Unable To Load Balance Between Each Time A Send Method Is Called
Hi,
According to the JMS documentation, I should be able to get the
distributed queue to load balance
between each time the message producer calls Message.send(). I was not
able to achieve this, however,
I noticed the load balancing happens when a JMS client is stopped and
restarted (meaning totally
exit the JVM and restart the JVM).
Here is my configuration:
WLS 8.1 SP2 on XP
One cluster with two nodes (running on the same machine w/ different port)
Each node hosts one JMS server, which hosts one physical queue and using
JDBC store
One distributed queue with two physical members from each of the JMS
server.
JMS Connection Factory is configured with "Load Balancing Enabled" set to
yes,
and "Server Affinity Enabled" to no. This connection factory is target to
the cluster.
The queue session for the queue sender is created with transaction setting
to false.
Any hints and ideas would greatly appreciated.
Here is the content of config.xml:
========================================================================
<?xml version="1.0" encoding="UTF-8"?>
<Domain ConfigurationVersion="8.1.0.0" Name="odh">
<Cluster ClusterAddress="localhost:8001,localhost:9001"
MulticastAddress="237.0.0.1" Name="odhCluster_1"/>
<Server ListenAddress="" ListenPort="7001" Machine="localhost"
Name="odhAdmin" NativeIOEnabled="true" ServerVersion="8.1.2.0">
<SSL Enabled="false" HostnameVerificationIgnored="false"
IdentityAndTrustLocations="KeyStores" Name="odhAdmin"/>
</Server>
<Server Cluster="odhCluster_1" ExpectedToRun="false"
IIOPEnabled="false" ListenAddress="" ListenPort="8001"
Machine="localhost" Name="odhManagedServer_1"
NativeIOEnabled="true" ServerVersion="8.1.2.0">
<SSL Enabled="false" IdentityAndTrustLocations="KeyStores"
Name="odhManagedServer_1"/>
<ExecuteQueue Name="weblogic.kernel.Default" ThreadCount="15"/>
</Server>
<Server Cluster="odhCluster_1" ExpectedToRun="false"
IIOPEnabled="false" ListenAddress="" ListenPort="9001"
Machine="localhost" Name="odhManagedServer_2"
NativeIOEnabled="true" ServerVersion="8.1.2.0">
<SSL Enabled="false" IdentityAndTrustLocations="KeyStores"
Name="odhManagedServer_2"/>
<ExecuteQueue Name="weblogic.kernel.Default" ThreadCount="15"/>
</Server>
<MigratableTarget Cluster="odhCluster_1"
Name="odhManagedServer_1 (migratable)"
Notes="This is a system generated default migratable target for a
server. Do not delete manually."
UserPreferredServer="odhManagedServer_1"/>
<MigratableTarget Cluster="odhCluster_1"
Name="odhManagedServer_2 (migratable)"
Notes="This is a system generated default migratable target for a
server. Do not delete manually."
UserPreferredServer="odhManagedServer_2"/>
<Machine Name="localhost">
<NodeManager ListenAddress="localhost" Name="localhost"/>
</Machine>
<JMSConnectionFactory AcknowledgePolicy="All"
DefaultDeliveryMode="Persistent"
JNDIName="com.neoforma.ConnectionFactory"
Name="odhConnectionFactory" ServerAffinityEnabled="false"
Targets="odhCluster_1" XAConnectionFactoryEnabled="true"/>
<JMSDistributedQueue JNDIName="com.neoforma.odhDistributedQueue_1"
LoadBalancingPolicy="Round-Robin" Name="odhDistributedQueue_1"
Targets="odhCluster_1">
<JMSDistributedQueueMember JMSQueue="odhQueue_1"
Name="DistributedQueueMember_1"/>
<JMSDistributedQueueMember JMSQueue="odhQueue_2"
Name="DistributedQueueMember_2"/>
</JMSDistributedQueue>
<JMSJDBCStore ConnectionPool="odhMessagePool"
Name="odhJMSJDBCStore_1" PrefixName="Order1_"/>
<JMSJDBCStore ConnectionPool="odhMessagePool"
Name="odhJMSJDBCStore_2" PrefixName="Order2_"/>
<JMSServer Name="odhJMSServer_1" Store="odhJMSJDBCStore_1"
Targets="odhManagedServer_1">
<JMSQueue CreationTime="1076439896999"
JNDIName="com.neoforma.odhQueue_1" Name="odhQueue_1"
StoreEnabled="true"/>
</JMSServer>
<JMSServer Name="odhJMSServer_2" Store="odhJMSJDBCStore_2"
Targets="odhManagedServer_2">
<JMSQueue CreationTime="1076439664343"
JNDIName="com.neoforma.odhQueue_2" Name="odhQueue_2"
StoreEnabled="true"/>
</JMSServer>
<JDBCConnectionPool
DriverName="oracle.jdbc.xa.client.OracleXADataSource"
Name="odhConnectionPool" Password="...."
Properties="user=..." Targets="odhCluster_1"
TestTableName="SQL SELECT 1 FROM DUAL" URL="................."/>
<JDBCConnectionPool DriverName="oracle.jdbc.driver.OracleDriver"
Name="odhMessagePool" Password="....."
Properties="user=....." Targets="odhCluster_1"
TestTableName="SQL SELECT 1 FROM DUAL" URL="............."/>
<JDBCMultiPool AlgorithmType="High-Availability"
Name="odhJDBCMultiPool_1"
PoolList="odhConnectionPool,odhMessagePool"
Targets="odhCluster_1"/>
<JDBCTxDataSource EnableTwoPhaseCommit="false"
JNDIName="com.neoforma.order.orderDS" Name="odhJDBCDataSource_1"
PoolName="odhConnectionPool" Targets="odhCluster_1"/>
<Security Name="odh" PasswordPolicy="wl_default_password_policy"
Realm="wl_default_realm" RealmSetup="true"/>
<!--
<EmbeddedLDAP
Credential="{3DES}j+xkS9y1EYJUfic+M9ZJ+5DqGjiwTaVnt+Ti0TQWxXg="
Name="odh"/>
<SecurityConfiguration
Credential="{3DES}OiyDMEOJS4gPLumKeKYWC+Kj9xWib6MhbmrNjeBmjJ7bpJypNb6Z7bUtAQF/bvi2RrFMs+3kqKerWNyD3NyT3QsrsyPoBDT0"
Name="odh" RealmBootStrapVersion="1"/>
-->
<Realm FileRealm="wl_default_file_realm" Name="wl_default_realm"/>
<FileRealm Name="wl_default_file_realm"/>
<PasswordPolicy Name="wl_default_password_policy"/>
<Application Deployed="true" Name="odh.ear"
Path="D:\bea\user_projects\domains\odh\applications\odh.ear"
StagedTargets="odhManagedServer_1,odhManagedServer_2"
StagingMode="stage" TwoPhase="true">
<EJBComponent Name="odh.jar" Targets="odhCluster_1" URI="odh.jar"/>
</Application>
<StartupClass ClassName="com.neoforma.startup.JMXMBeanStartup"
DeploymentOrder="1" Name="ODH MBean Startup Class"
Notes="ODH MBean Startup Class - Note" Targets="odhAdmin"/>
<EmbeddedLDAP
Credential="{3DES}YFY55/dsdxI9HL/AKGRXHuR1VwyJewNFdAHdrtk/WMM="
Name="odh"/>
<SecurityConfiguration
Credential="{3DES}ZCPa1Bsrj3z2DhVKVUbq32zTYipDVff+LDB9+1b2Dr4VLhz5yjZyHgPheqS/kum4VVZamDYN07Hyb6rALiCTHhwt1EzK5+M+"
Name="odh" RealmBootStrapVersion="1"/>
</Domain>
Thanks for the Makiey. I am surprise that BEA hasn't come back with any
info.
Hien
On 7 Jul 2004 01:51:01 -0700, makiey <[email protected]> wrote:
>
> Hi Hien Luu,
>
> We also have a problem with load balancing, tested with WLS 7.0 SP4 and
> WLS 8.1
> SP2 (HP UX). The only "working" configuration is load-balancing policy =
> random
> (CF deployed to cluster, load balancing enabled, affinity disabled).
> With the
> "round-robin" policy we cannot utilize more than 50% dis. queue's
> members.
>
> I'm trying to prepare a reproducer...
>
> greetings,
> makiey
>
>
> "Hien Luu" <[email protected]> wrote:
>> Hi,
>>
>> According to the JMS documentation, I should be able to get the =
>>
>> distributed queue to load balance
>> between each time the message producer calls Message.send(). I was not
>> =
>> =
>>
>> able to achieve this, however,
>> I noticed the load balancing happens when a JMS client is stopped and
>> =
>>
>> restarted (meaning totally
>> exit the JVM and restart the JVM).
>>
>> Here is my configuration:
>>
>> WLS 8.1 SP2 on XP
>> One cluster with two nodes (running on the same machine w/ different
>> por=
>> t)
>> Each node hosts one JMS server, which hosts one physical queue and
>> using=
>> =
>>
>> JDBC store
>> One distributed queue with two physical members from each of the JMS
>> =
>>
>> server.
>> JMS Connection Factory is configured with "Load Balancing Enabled" set
>> t=
>> o =
>>
>> yes,
>> and "Server Affinity Enabled" to no. This connection factory is target
>> =
>> to =
>>
>> the cluster.
>>
>> The queue session for the queue sender is created with transaction
>> setti=
>> ng =
>>
>> to false.
>>
>> Any hints and ideas would greatly appreciated.
>>
>>
>> Here is the content of config.xml:
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
>> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
>>
>> <?xml version=3D"1.0" encoding=3D"UTF-8"?>
>> <Domain ConfigurationVersion=3D"8.1.0.0" Name=3D"odh">
>> <Cluster ClusterAddress=3D"localhost:8001,localhost:9001"
>> MulticastAddress=3D"237.0.0.1" Name=3D"odhCluster_1"/>
>> <Server ListenAddress=3D"" ListenPort=3D"7001" Machine=3D"localhost=
>> "
>> Name=3D"odhAdmin" NativeIOEnabled=3D"true" ServerVersion=3D"8.1=
>> .2.0">
>> <SSL Enabled=3D"false" HostnameVerificationIgnored=3D"false"
>> IdentityAndTrustLocations=3D"KeyStores" Name=3D"odhAdmin"/>=
>>
>> </Server>
>> <Server Cluster=3D"odhCluster_1" ExpectedToRun=3D"false"
>> IIOPEnabled=3D"false" ListenAddress=3D"" ListenPort=3D"8001"
>> Machine=3D"localhost" Name=3D"odhManagedServer_1"
>> NativeIOEnabled=3D"true" ServerVersion=3D"8.1.2.0">
>> <SSL Enabled=3D"false" IdentityAndTrustLocations=3D"KeyStores"
>> =
>> =
>>
>> Name=3D"odhManagedServer_1"/>
>> <ExecuteQueue Name=3D"weblogic.kernel.Default" ThreadCount=3D"1=
>> 5"/>
>> </Server>
>> <Server Cluster=3D"odhCluster_1" ExpectedToRun=3D"false"
>> IIOPEnabled=3D"false" ListenAddress=3D"" ListenPort=3D"9001"
>> Machine=3D"localhost" Name=3D"odhManagedServer_2"
>> NativeIOEnabled=3D"true" ServerVersion=3D"8.1.2.0">
>> <SSL Enabled=3D"false" IdentityAndTrustLocations=3D"KeyStores"
>> =
>> =
>>
>> Name=3D"odhManagedServer_2"/>
>> <ExecuteQueue Name=3D"weblogic.kernel.Default" ThreadCount=3D"1=
>> 5"/>
>> </Server>
>> <MigratableTarget Cluster=3D"odhCluster_1"
>> Name=3D"odhManagedServer_1 (migratable)"
>> Notes=3D"This is a system generated default migratable target
>> f=
>> or a =
>>
>> server. Do not delete manually."
>> UserPreferredServer=3D"odhManagedServer_1"/>
>> <MigratableTarget Cluster=3D"odhCluster_1"
>> Name=3D"odhManagedServer_2 (migratable)"
>> Notes=3D"This is a system generated default migratable target
>> f=
>> or a =
>>
>> server. Do not delete manually."
>> UserPreferredServer=3D"odhManagedServer_2"/>
>> <Machine Name=3D"localhost">
>> <NodeManager ListenAddress=3D"localhost" Name=3D"localhost"/>
>> </Machine>
>> <JMSConnectionFactory AcknowledgePolicy=3D"All"
>> DefaultDeliveryMode=3D"Persistent"
>> JNDIName=3D"com.neoforma.ConnectionFactory"
>> Name=3D"odhConnectionFactory" ServerAffinityEnabled=3D"false"
>> Targets=3D"odhCluster_1" XAConnectionFactoryEnabled=3D"true"/>
>> <JMSDistributedQueue JNDIName=3D"com.neoforma.odhDistributedQueue_1=
>> "
>> LoadBalancingPolicy=3D"Round-Robin" Name=3D"odhDistributedQueue=
>> _1" =
>>
>> Targets=3D"odhCluster_1">
>> <JMSDistributedQueueMember JMSQueue=3D"odhQueue_1" =
>>
>> Name=3D"DistributedQueueMember_1"/>
>> <JMSDistributedQueueMember JMSQueue=3D"odhQueue_2" =
>>
>> Name=3D"DistributedQueueMember_2"/>
>> </JMSDistributedQueue>
>> <JMSJDBCStore ConnectionPool=3D"odhMessagePool"
>> Name=3D"odhJMSJDBCStore_1" PrefixName=3D"Order1_"/>
>> <JMSJDBCStore ConnectionPool=3D"odhMessagePool"
>> Name=3D"odhJMSJDBCStore_2" PrefixName=3D"Order2_"/>
>> <JMSServer Name=3D"odhJMSServer_1" Store=3D"odhJMSJDBCStore_1"
>> =
>>
>> Targets=3D"odhManagedServer_1">
>> <JMSQueue CreationTime=3D"1076439896999"
>> JNDIName=3D"com.neoforma.odhQueue_1" Name=3D"odhQueue_1"
>> =
>>
>> StoreEnabled=3D"true"/>
>> </JMSServer>
>> <JMSServer Name=3D"odhJMSServer_2" Store=3D"odhJMSJDBCStore_2"
>> =
>>
>> Targets=3D"odhManagedServer_2">
>> <JMSQueue CreationTime=3D"1076439664343"
>> JNDIName=3D"com.neoforma.odhQueue_2" Name=3D"odhQueue_2"
>> =
>>
>> StoreEnabled=3D"true"/>
>> </JMSServer>
>> <JDBCConnectionPool
>> DriverName=3D"oracle.jdbc.xa.client.OracleXADataSource"
>> Name=3D"odhConnectionPool" Password=3D"...."
>> Properties=3D"user=3D..." Targets=3D"odhCluster_1"
>> TestTableName=3D"SQL SELECT 1 FROM DUAL" URL=3D"...............=
>> .."/>
>> <JDBCConnectionPool DriverName=3D"oracle.jdbc.driver.OracleDriver"
>> Name=3D"odhMessagePool" Password=3D"....."
>> Properties=3D"user=3D....." Targets=3D"odhCluster_1"
>> TestTableName=3D"SQL SELECT 1 FROM DUAL" URL=3D"............."/=
>>>
>> <JDBCMultiPool AlgorithmType=3D"High-Availability"
>> Name=3D"odhJDBCMultiPool_1"
>> PoolList=3D"odhConnectionPool,odhMessagePool" =
>>
>> Targets=3D"odhCluster_1"/>
>> <JDBCTxDataSource EnableTwoPhaseCommit=3D"false"
>> JNDIName=3D"com.neoforma.order.orderDS" Name=3D"odhJDBCDataSour=
>> ce_1"
>> PoolName=3D"odhConnectionPool" Targets=3D"odhCluster_1"/>
>> <Security Name=3D"odh" PasswordPolicy=3D"wl_default_password_policy=
>> "
>> Realm=3D"wl_default_realm" RealmSetup=3D"true"/>
>> <!--
>> <EmbeddedLDAP
>> Credential=3D"{3DES}j+xkS9y1EYJUfic+M9ZJ+5DqGjiwTaVnt+Ti0TQWxXg=
>> =3D" =
>>
>> Name=3D"odh"/>
>> <SecurityConfiguration
>> Credential=3D"{3DES}OiyDMEOJS4gPLumKeKYWC+Kj9xWib6MhbmrNjeBmjJ7=
>> bpJypNb6Z7bUtAQF/bvi2RrFMs+3kqKerWNyD3NyT3QsrsyPoBDT0"
>> Name=3D"odh" RealmBootStrapVersion=3D"1"/>
>> -->
>> <Realm FileRealm=3D"wl_default_file_realm" Name=3D"wl_default_realm=
>> "/>
>> <FileRealm Name=3D"wl_default_file_realm"/>
>> <PasswordPolicy Name=3D"wl_default_password_policy"/>
>> <Application Deployed=3D"true" Name=3D"odh.ear"
>> Path=3D"D:\bea\user_projects\domains\odh\applications\odh.ear"
>> StagedTargets=3D"odhManagedServer_1,odhManagedServer_2"
>> StagingMode=3D"stage" TwoPhase=3D"true">
>> <EJBComponent Name=3D"odh.jar" Targets=3D"odhCluster_1" URI=3D"=
>> odh.jar"/>
>> </Application>
>> <StartupClass ClassName=3D"com.neoforma.startup.JMXMBeanStartup"
>> DeploymentOrder=3D"1" Name=3D"ODH MBean Startup Class"
>> Notes=3D"ODH MBean Startup Class - Note" Targets=3D"odhAdmin"/>=
>>
>> <EmbeddedLDAP
>> Credential=3D"{3DES}YFY55/dsdxI9HL/AKGRXHuR1VwyJewNFdAHdrtk/WMM=
>> =3D" =
>>
>> Name=3D"odh"/>
>> <SecurityConfiguration
>> Credential=3D"{3DES}ZCPa1Bsrj3z2DhVKVUbq32zTYipDVff+LDB9+1b2Dr4=
>> VLhz5yjZyHgPheqS/kum4VVZamDYN07Hyb6rALiCTHhwt1EzK5+M+"
>> Name=3D"odh" RealmBootStrapVersion=3D"1"/>
>> </Domain>
>
Using Opera's revolutionary e-mail client: http://www.opera.com/m2/
-
How does IronPort assist in load balancing?
There are plans to put a load balancer in front of an IronPort cluster of 6. As of now, we have Mx record priority (Round robin) based load balancing.
Does an ESA has the intelligence to automatically reject incoming connections if other ESAs in the cluster is idol? Or, in other way, does ESA has the intelligence to reject incoming connections if it sees a series of connection attempts from the same source? Or, does it have intelligence to reject incoming connections if it is devoid of any resource to process any new messages?
Thanks,
ChandanNo. The ESA will still act in the same stand alone fashion - so, it will act independently with the traffic that is presented. Other appliances in cluster would not recognize the other appliance's traffic or status for handling mail that is processed --- remember, with the ESA, in cluster - the only thing that is shared is the configuration between cluster appliances.
The traffic handling and load balancing aspect would be based on the 3rd party software/appliance sitting in front of the appliances --- then control the pool of appliances that you have set from there.
I hope this helps!
-Robert
(*If you have received the answer to your original question, and found this helpful/correct - please mark the question as answered, and be sure to leave a rating to reflect!) -
Accessing individual server in load-balanced cluster not working as expected
We have a cluster set up with multiple managed servers and hardware load
balancers sitting in front to direct traffic. We have the frontend host
configured to be the dns name of the single URL for the cluster, which maps
to the IP address that the load balancers balance. When accessing part of
our site (a WebLogic portal) at
http://server1/portalApp/appmanager/portal/desktop
(where server1 is the name of one of the managed servers)
the portal performs a redirect to the login page at
/portalApp/appmanager/portal/desktop?_nfbp=true&_pageLabel=login_page.
The URL that results in the browser is not what I would expect, which would be
http://server1/portalApp/...
Instead, it is
http://cluster/portalApp/...
where cluster is the frontend host setting. Is there any way to avoid
this, so we can perform directed testing on specific managed servers?
Thanks,
Andy
Hi Maria, thanks for your help! I wrote a simple test jsp that does a
redirect if a parameter is set, otherwise it doesn't do anything. When I
accessed the jsp at server1/app/test.jsp?a=true, something (I assume
either WebLogic or the load balancer) rewrote the URL after the redirect
(the redirect was to /app/test.jsp). The URL that appears in the browser
after the redirect is cluster/app/test.jsp. Do you know if this happens
because of WebLogic or the load balancer? Our load balancers are Cisco
11503's I believe.
Do you think it would make any difference if I leave the frontend host
for the cluster to be the dns name of the cluster, and then if I set the
frontend host for each server to be the dns name of that specific server?
Currently each server does not have any value entered for frontend host.
Thanks!
Andy
Maria Carcedo <[email protected]> wrote in
news:31424665.1108079763742.JavaMail.root@jserv5:
> Hi Andy!
>
> We had basically the same problem and we fixed it by configuring the
> F5 load balancer to maintain the session with whichever server it
> started the connection with. We had to enable cookie persistence, more
> specifically the Active HTTP Cookie, with Method insert (do not enter
> any expiration or anything else in any other field other than what is
> already there when the page loads -> F5 bug).
>
> So if the original request from the portal goes to server1, every
> subsequent request will go to server1 as well. The next session
> request will go to server2 and every subsequent request within that
> session will go to server 2, and so on (assuming you have round
> robin).
>
> I hope this helps!
>
> Maria
-
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 -
Load balancing for BPEL Cluster
Can anybody tell how to configure the load balancer in BPEL Cluster ..? I am not able to get the correct documents for that. I want the request from the client can be redirect to any of the cluster server that will be having the PPEL Process deployed.
Can i use third party load balancer also or can i use oracle http server as load balancer ....how to configure in both the case?Hi Dominik.
Thanks for responding to my message.
Where could i find more info relating to the WEB dispatcher.
I also posted a message on OSS and SAP did not mention
a WEB Dispatcher. (Startup Framework and the J2ee dispatcher handing the load balancing)
Is the WEB dispatcher a must or are there alternate solutions. I am still confused on this topic ??
On the current EP5 release, the load balancing is handled
via MS Load Balancing.
Thanks and appreciate the help !!
Morgan
Message was edited by: Morgan Moodley
Maybe you are looking for
-
HOW MANY HOURS DID YOU CHARGE YOUR iPHONE FOR THE 1ST TIME OUT OF THE BOX?
As the title says. And how soon does the battery start to finish when watching YouTube after a FULL CHARGE? I can watch abt 3 or 4 videos (between 2 to 10 mins long each) + searching youtube for a minute or two before I notice the FULL BATTERY starts
-
HT201441 i cannot remember my icloud log in or pass words
how can i reset my icloud account as i cannot remember my original ones
-
Server resources availability while executing a query
hi, lets say we have a query that requires XX MB to be executed. the needed memory is available, and while the query is getting memory, another threads jump on the database, and the memory needed to execute the query is not available. under those cir
-
I downloaded Yosemite OS X and when I try to select my HD (the disk) where I want to install it, the hard drive doesn't have enough space. I have a MacBook Pro bought in 2008. What can I do and still have all my files? I haven't backed up...
-
Hi Experts, While im using BAPI_CUSTOMER_CREATEFROMDATA1 for XD01. It is throwing error account group is not defined. In BAPI_CUSTOMER_CREATEFROMDATA1, structures used for import r export r tables, i didnt find any account group field. But there s fi