Load balancing on iplanet

What are the capabilitiesof the load balancing plug-in "Resonate Command Module" for iplanet? Is this the only load balancing feature that iplanet provides.
Also, if anyone knows of other reasonable (price) load balancing solutions for iplanet web server: preferably, software based only (no load balancing hardware).
I looked at the documentation, and deduced that "resonate" alone cannot provide load balancing for iplanet web servers.
TIA,
Mo

Actually resonate is a sofware based load balancing solution. The confusion is that it doesnt come with the iplanet web server. The command module is only an interface to resonate that will tell it how to react to iplanet internals. So, you would still need to buy Resonate central dispatch for this to be any use to you. Resonate software is expensive. Expect to pay about 60k to start last I checked.
There arent that many other software load balancers that are cheap. I found one open source thing called pen. Check out http://siag.nu/pen
It's really not bad. It supports sticky lb and can actually work for any simple tcp protocol: http,https,ldap,imap,pop,etc....
The only thing is that you need to set up your own failover for pen so that if the pen process goes down another machine will service the requests.

Similar Messages

  • Hadrware load balancing for WLS 5.1

    Rather than using the proxy plug-in to determine which server to dispatch a request to in case of failover, I would like to use hardware load balancer. So on normal conditions, the load-balancer would look at the primary server in the cookie and route the request accordingly. If it gets no response, it would reexamine the cookie and forward the request to the secondary server holding the state.
              Has anybody done this? Which hardware load balancer were you using? Is there a definitive spec for the weblogic cookie so that we can try configuring the load balancer? (in the BEA docs I can only find info about the position of the primary server in the cookie).
              Thanks, Matt
              

    http://e-docs.bea.com/wls/docs60/cluster/servlet.html#1008984
              -- Anand
              "Mark Vaughn" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Even with WLS 6.1, how will the hardware load balancer know who the
              secondary server
              > is when it needs to failover a session? For example, in a 3 member
              cluster, when
              > server one dies, how does the HLB know whether server 2 or server 3 were
              defined
              > as the secondary for that session. Unless something has changes in WLS6.1,
              there
              > is only one primary and only one secondary.
              >
              > Matt, I use Foundry ServerIrons to load balance my iPlanet webservers, but
              I strongly
              > suggest the Weblogic plugin if you will be using a 3rd party webserver in
              front
              > of WebLogic. That plugin has all kinds of debug settings and extra
              features that
              > allow it to communicate with the background WLS cluster. That allows it to
              make
              > decisions and deliver performance no HLB will give you. Don't get me
              wrong, HLB's
              > have there place and deliver some really good features, but that is not a
              place
              > I would consider using one.
              >
              >
              > Kumar Allamraju <[email protected]> wrote:
              > ><!doctype html public "-//w3c//dtd html 4.0 transitional//en">
              > ><html>
              > >Hi:
              > ><p>WLS 5.1 clustering is not designed to work with Hardware load
              balancers.
              > ><br>I would suggest you to try with WLS 6.1
              > ><p>--
              > ><br>Kumar
              > ><p>Matt Hudson wrote:
              > ><blockquote TYPE=CITE>Rather than using the proxy plug-in to determine
              > >which server to dispatch a request to in case of failover, I would like
              > >to use hardware load balancer. So on normal conditions, the load-balancer
              > >would look at the primary server in the cookie and route the request
              > >accordingly.
              > >If it gets no response, it would reexamine the cookie and forward the
              > >request
              > >to the secondary server holding the state.
              > ><p>Has anybody done this? Which hardware load balancer were you
              > >using?
              > >Is there a definitive spec for the weblogic cookie so that we can try
              > >configuring
              > >the load balancer? (in the BEA docs I can only find info about the
              position
              > >of the primary server in the cookie).
              > ><p>Thanks, Matt</blockquote>
              > ></html>
              > >
              >
              

  • Load-balancing issues with iPlanet and multiple clusters

    We're in performance test of a large-scale clustered deployment based on WLS 5.1sp10.
    Due to scalability/functionality issues, some of which we've seen firsthand and
    some of which we've been informed of by associates as well as BEA representatives,
    we've chosen to implement multiple clusters with a maximum of three nodes each.
    These clusters will be fronted by a web server tier consisting of iPlanet servers
    using the proxy plugin.
    Due to hardware constraints (both in test and in production), however, we've configured
    the iPlanet servers to route across the multiple clusters. In our test environment,
    for instance, we've got a single iPlanet server routing across two 3-node clusters,
    and the configuration in obj.conf is as follows:
    <Object name="application" ppath="*/application">
    Service fn="wl-proxy" \
    WebLogicCluster="clusterA_1:9990,clusterB_1:9991,clusterA_2:9990,clusterB_2:9991,clusterA_3:9990,
    clusterB_3:9991" \
    CookieName="ApplicationSession"
    </Object>
    Our issue is that the load-balancing doesn't appear to work across the clusters.
    We're seeing one cluster get about 90% of the load, while the other receives
    only 10%.
    So, the question (finally!) is: Is this configuration correct (i.e., will it
    work according to the logic of the proxy plugin), and is it appropriate for this
    situation? Are there other alternative approaches that anyone can recommend?
    Thanks in advance,
    cramer

    I use weblogic6.1 with sp2+windows 2000.I develop a web application and deploy
    it to cluster.Through HttpClusterServlets proxy of weblogic I found that a server
    in cluster almost get 95% of requests but another only get 5% of requests.Why???
    I don't set any special parameter.And the weight of the two clustered server is
    equal.I use round-robin arithmetic.
    Thanks!
    "cramer" <[email protected]> wrote:
    >
    We're in performance test of a large-scale clustered deployment based
    on WLS 5.1sp10.
    Due to scalability/functionality issues, some of which we've seen firsthand
    and
    some of which we've been informed of by associates as well as BEA representatives,
    we've chosen to implement multiple clusters with a maximum of three nodes
    each.
    These clusters will be fronted by a web server tier consisting of iPlanet
    servers
    using the proxy plugin.
    Due to hardware constraints (both in test and in production), however,
    we've configured
    the iPlanet servers to route across the multiple clusters. In our test
    environment,
    for instance, we've got a single iPlanet server routing across two 3-node
    clusters,
    and the configuration in obj.conf is as follows:
    <Object name="application" ppath="*/application">
    Service fn="wl-proxy" \
    WebLogicCluster="clusterA_1:9990,clusterB_1:9991,clusterA_2:9990,clusterB_2:9991,clusterA_3:9990,
    clusterB_3:9991" \
    CookieName="ApplicationSession"
    </Object>
    Our issue is that the load-balancing doesn't appear to work across the
    clusters.
    We're seeing one cluster get about 90% of the load, while the other
    receives
    only 10%.
    So, the question (finally!) is: Is this configuration correct (i.e.,
    will it
    work according to the logic of the proxy plugin), and is it appropriate
    for this
    situation? Are there other alternative approaches that anyone can recommend?
    Thanks in advance,
    cramer

  • IPlanet Load Balancing with BEA Plugin

    I'M using a IPlanet Enterprise V.4.1SP9 and use the weblogic load balancing plugin. Furthermore I use 3 weblogic express 6.1 sp2 which receive the requests of the iplanet webserver. my question is how to configure the load balancer plugin (round robin etc.) and if it is possible to get some (debug) output.
    I need it because the load balancing doesn't work properly with netscape (althoug it suprisingsly does with the Internet explorer).
    Greetings,
    Boris

    I'M using a IPlanet Enterprise V.4.1SP9 and use the weblogic load balancing plugin. Furthermore I use 3 weblogic express 6.1 sp2 which receive the requests of the iplanet webserver. my question is how to configure the load balancer plugin (round robin etc.) and if it is possible to get some (debug) output.
    I need it because the load balancing doesn't work properly with netscape (althoug it suprisingsly does with the Internet explorer).
    Greetings,
    Boris

  • Load balancing and Virtual directories (solaris w/ iPlanet)

    Hi everybody,
    I would like some assistance configuring some load balancing. Our environment consists of 6 physical servers, iPlanet 6, Weblogic 8.1, and Cisco CSS content load balancers. I need some help in the obj.conf for iplanet....
    I am trying to create a blanket cisco load balancer rule which would be able to cover all future web services our group wishes to create. The cisco load balancer is easy, I just need help on the iplanet obj.conf.
    ie.
    hardware load balancer
    https://webapi.aaa.com/webservices/*
    (points to all 6 iplanet instances)
    weblogic
    URL on a particular weblogic server may be:
    http://weblogic1:9001/webservice1/aaa.jws
    http://weblogic2:9001/webservice1/aaa.jws
    ... weblogic6:9001/webservice1/aaa.jws
    http://weblogic1:9001/webservice2/bbb.jws
    http://weblogic2:9001/webservice2/bbb.jws
    ... weblogic6:9001/webservice2/bbb.jws
    How do I configure the obj.conf to be clustered as well as make the webservice look like it's coming from
    https://webapi.aaa.com/webservices/webservice1/aaa.jws
    as well as
    https://webapi.aaa.com/webservices/webservice2/bbb.jws
    (note the prefix of "webservices")
    Thanks!
    Eddie

    Hi,
    I agree with the suggestion above. For questions related to IIS, you’d better ask in IIS forum for professional assistance. By the way, I will
    change this thread to a general discussion, thanks for your understanding and support.
    Best regards,
    Susie

  • IPlanet sticky load balancing question

    We have two iPlanet Application Servers v6.0 sp3 and two iPlanet
    Enterprise Web servers v4.1. All machines are on the same domain name.
    All machines point to the same LDAP server. The application has been
    installed on both App servers. Clustering has been configured in the
    App server Admin tool to be based upon system load. For non-sticky load
    balancing, all works fine, and session information is carried over
    properly. However, for sticky load balancing, hits going into either of
    the Web servers do not always go back to the App server that first
    started the session.
    The online iPlanet documentation says it can be done, but we have found
    differently. Has anybody else gotten this to work?
    Thank you,
    David Shade

    Hi David,
    With sticky load balancing enabled, when you execute the application first
    time it will go to any kjs depending on your load banancing criteria which
    you set (Round robin or server responce or whatever), this applies to only
    for the first time when you send request, afterwords it will be executed in
    that perticular KJS process only till that KJS is alive, whatever may be
    your LoadB creteria.
    You please kill that kjs and see, you will be able to see the failover.
    Feel free to mail me for any further information.
    Sanjeev,
    Developer Support Team iAS-India.
    David Shade wrote:
    We have two iPlanet Application Servers v6.0 sp3 and two iPlanet
    Enterprise Web servers v4.1. All machines are on the same domain name.
    All machines point to the same LDAP server. The application has been
    installed on both App servers. Clustering has been configured in the
    App server Admin tool to be based upon system load. For non-sticky load
    balancing, all works fine, and session information is carried over
    properly. However, for sticky load balancing, hits going into either of
    the Web servers do not always go back to the App server that first
    started the session.
    The online iPlanet documentation says it can be done, but we have found
    differently. Has anybody else gotten this to work?
    Thank you,
    David Shade--
    I have never learn not to learn...
    ------------------------------------------------------------------

  • Help: newbie of iplanet clustering & loading balancing

    As l went through the sample app, "bank" coming along with iplanet. l have a few questions in mind. It is highly appreciated somebody can give a helping hand to me by answering below questions
    1) In ias-web.xml and web.xml, the app is set as "distributable" and session is synchronized by "dsync". Also, all servlets are set "sticky". My question is why the JSP don't need to be set as "sticky". If l have a web site made up of serveral ten of thousand of JSP pages, it will be a big trouble
    2) Let's say, if the sample include a stateful session bean, do l have to set that stateful session bean to "sticky". If so,
    does it mean the invocation from servlet to stateful session bean will take place in same JVM process.
    3) Is there any latency if session is synchronized by "dsync" process. If the application is set as "distributable" (support load-balancing), but the servlet is NOT set as sticky. Will it cause any trouble due to latency of synchronization of session among iplanet server
    regards
    Danny

    Hi
    Firstly, Thanks for your reply. it would very thankful if you can provide me more detailed information on below questions
    1) As a stateful session bean is set sticky. Does it mean all requests from same session will be directed from web-tier to the same jvm initializing that stateful session bean. Also, all invocation to entity bean/other sesson beans from that sticky stateful session bean will take place within same jvm as this stateful session bean is, am l correct ?
    2) Is there a latency for "dsync" to do replication of state of HTTPsession and stateful session bean ? If so, there is chance that state of HTTPSession / stateful session bean will be lost if the crash of jvm happen in-between the replication, am l correct ? Is there any way to avoid it ?
    regards
    Danny

  • Load Balancing Directory Servers with Access Manager - Simple questions

    Hi.
    We are in the process of configuring 2 Access Manager instances (servers) accessing the same logical LDAP repository (comprising physically of two Directory Servers working together with Multi-Master Replication configured and tested) For doing this, we are following guide number 819-6258.
    The guide uses BigIP load balancer for load balancing the directory servers. However, we intend to use Directory Proxy Server. Since we faced some (unresolved) issues last time that we used DPS, there are some simple questions that I would be very grateful to have answers to:
    1. The guide, in section 3.2.10 (To configure Access Manager 1 with the Directory Server load balancer), talks about making changes at 4 places, and replacing the existing entry (hostname and port) with the load balancer's hostname and port (assuming that the load balancer has already been configured). It says that changes need not be made on Access Manager 2 since the LDAPs are in replication, and hence changes will be replicated at all places. However, the guide also states that changes have to be made in two files, namely AMConfig.properties, and the serverconfig.xml file. But these changes will not be reflected on Access Manager 2, since these files are local on each machine.
    Question 1. Do changes have to be made in AMConfig.properties and serverconfig.xml files on the other machine hosting Access Manager 2?
    Question 2: What is the purpose of putting these values here? Specifically, what is achieved by specifying the Directory server host and port in AMConfig.properties, as well as in serverconfig.xml?
    Question 3. In the HTTP console, there is the option of specifying multiple primary LDAP servers, as well as multiple secondary LDAP servers. What is the purpose of these? Are secondary servers attempted when none of the list in the primary list are accessible? Also, if there are multiple entries in the primary server list, are they accessed in a round robin fashion (hereby providing rudimentary load balancing), or are other servers accessed only when the one mentioned first is not reachable etc.?
    2. Since I do not have a load balancer setup yet, I tried the following deviation to the above, which, according to me, should have worked. If viewed in the HTTP console, LDAP / Membership / MSISDN and Policy configuration all pointed to the DS on host 1. When I changed all these to point to the directory server on host 2 (and made AMConfig.properties and serverconfig.xml on host 1 point to DS of host 2 as well), things should have worked fine, but apparently Access manager 1 could not be started. Error from Webserver:
    [14/Aug/2006:04:30:36] info (13937): WEB0100: Loading web module in virtual server [https-machine_1_FQDN] at [search]
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: Exception in thread "EventService" java.lang.ExceptionInInitializerError
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at com.iplanet.services.ldap.event.EventServicePolling.run(EventServicePolling.java:132)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at java.lang.Thread.run(Thread.java:595)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: Caused by: java.lang.InterruptedException
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: at com.sun.identity.sm.ServiceManager.<clinit>(ServiceManager.java:74)
    [14/Aug/2006:04:31:48] warning (13937): CORE3283: stderr: ... 2 more
    In effect, AM on 1 did not start. On rolling back the changes, things again worked like previously.
    Will be really grateful for any help / insight / experience on dealing with the above.
    Thanks!

    Update to the above, incase anyone is reading:
    We setup a similar setup in Windows, and it worked. Here is a detailed account of what was done:
    1. Host 1: Start installer, install automatically, chose Directory server, Directory Administration server, Directory Proxy server, Web server, Access Manager.
    All installed, and worked fine. (AMConfig.properties, serverconfig.xml, and the info in LDAP service, all pointed to HOST1:389)
    2. Host 2: Start installer, install automatically, chose Directory server, Directory Administration server, Directory Proxy server, Web server, Access Manager.
    All installed, and worked fine. (AMConfig.properties, serverconfig.xml, and the info in LDAP service, all pointed to HOST2:389)
    3. Host 1: Started replication. Set to Master
    4. Host 2: Started replication. Set to Master
    5. Host 1: Setup replication agreement to Host 2
    6. Host 2: Setup replication agreement to Host 1
    7. Initiated the remote replica from Host 1 ----> Host 2
    Note that since default installation uses abc.....xyz as the encryption key, setting this to same was not an issue.
    9. Started webserver for Host 1 and logged into AM as amadmin.
    10. Added Host 2 FQDN in DNS Aliases / Realms
    11. Added http://HOST2_FQDN:80 in the Platform server (instance) list.
    12. Started Host 2 webserver. Logged in AM on Host 2, things worked fine.
    At this stage, note the following:
    a) Host 1:
    AMConfig.properties file has
    com.iplanet.am.directory.host=host1_FQDN
    and
    com.iplanet.am.directory.port=389
    serverconfig.xml has:
    <Server name="Server1" host="host1_FQDN" port="389" type="SIMPLE" />
    b) Host 2:
    AMConfig.properties file has
    com.iplanet.am.directory.host=host2_FQDN
    and
    com.iplanet.am.directory.port=389
    serverconfig.xml has:
    <Server name="Server1" host="host2_FQDN" port="389" type="SIMPLE" />
    c) If one logs into AM, and checks LDAP servers for LDAP / Policy Configuration / Membership etc services, they all contain Host2_FQDN:389 (which makes sense, since replica 2 was initialized from 1)
    Returning back to the configuations:
    13. On Host 1, login into the Admin server console of the Directory server. Navigate to the DPS, and confgure the following:
    a) Network Group
    b) LDAP servers
    c) Load Balancing
    d) Change Group
    e) Action on-bind
    f) Allow all actions (permit modification / deletion etc.).
    g) any other configuations required - Am willing to give detailed steps if someone needs them to help me / themselves! :)
    So now, we have DPS configured and running on Host1:489, and distributing load to DS1 and DS2 on a 50:50 basis.
    14. Now, log into AM on Host 1, and instead of Host1_fqdn:389 (for DS) in the following places, specify Host1_fqdn:489 (for the DPS)--
    LDAP Authentication
    MSISDN server
    Membership Service
    Policy configuation.
    Verified that this propagated to the Policy Configuration service and the LDAP authentication service that are already registered with the default organization.
    15. Log out of AM. Following the documentation, modify directory.host and directory.port in AMConfig.properties to point to Host 1_FQDN and 489 respectively. Make this change in AMConfig.properties of both Host 1 as well as 2.
    16. Edit serverconfig.xml on both hosts, and instead of they pointing to their local directory servers, point both to host1_FQDN:489
    17. When you start the webserver, it will refuse to start. Will spew errors such as:
    [https-host1_FQDN]: Sun ONE Web Server 6.1SP5 B06/23/2005 17:36
    [https-host1_FQDN]: info: CORE3016: daemon is running as super-user
    [https-host1_FQDN]: info: CORE5076: Using [Java HotSpot(TM) Server VM, Version 1.5.0_04] from [Sun Microsystems Inc.]
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amserver]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [ampassword]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amcommon]
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [amconsole]
    [https-host1_FQDN]: warning: WEB6100: locale-charset-info is deprecated, please use parameter-encoding
    [https-host1_FQDN]: info: WEB0100: Loading web module in virtual server [https-host1_FQDN] at [search]
    [https-host1_FQDN]: warning: CORE3283: stderr: netscape.ldap.LDAPException: error result (32); matchedDN = dc=sun,dc=com; No such object (DN changed)
    [https-host1_FQDN]: warning: CORE3283: stderr: Got LDAPServiceException code=-1
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getConnection(DSConfigMgr.java:357)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewFailoverConnection(DSConfigMgr.java:314)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewConnection(DSConfigMgr.java:253)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewProxyConnection(DSConfigMgr.java:184)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.services.ldap.DSConfigMgr.getNewProxyConnection(DSConfigMgr.java:194)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.initLdapPool(DataLayer.java:1248)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.(DataLayer.java:190)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.getInstance(DataLayer.java:215)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ums.DataLayer.getInstance(DataLayer.java:246)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ldap.SMSLdapObject.initialize(SMSLdapObject.java:156)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ldap.SMSLdapObject.(SMSLdapObject.java:124)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
    [https-host1_FQDN]: warning: CORE3283: stderr: at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.Class.newInstance0(Class.java:350)
    [https-host1_FQDN]: warning: CORE3283: stderr: at java.lang.Class.newInstance(Class.java:303)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.SMSEntry.(SMSEntry.java:216)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.identity.sm.ServiceSchemaManager.(ServiceSchemaManager.java:67)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.am.util.AMClientDetector.getServiceSchemaManager(AMClientDetector.java:219)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.am.util.AMClientDetector.(AMClientDetector.java:94)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.sun.mobile.filter.AMLController.init(AMLController.java:85)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:262)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:322)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ApplicationFilterConfig.(ApplicationFilterConfig.java:120)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3271)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3747)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: warning: CORE3283: stderr: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: warning: CORE3283: stderr: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]: failure: WebModule[amserver]: WEB2783: Servlet /amserver threw load() exception
    [https-host1_FQDN]: javax.servlet.ServletException: WEB2778: Servlet.init() for servlet LoginLogoutMapping threw exception
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:949)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]: ----- Root Cause -----
    [https-host1_FQDN]: java.lang.NullPointerException
    [https-host1_FQDN]: at com.sun.identity.authentication.UI.LoginLogoutMapping.init(LoginLogoutMapping.java:71)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:921)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:813)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3478)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardContext.start(StandardContext.java:3760)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebModule.start(WebModule.java:251)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardHost.start(StandardHost.java:652)
    [https-host1_FQDN]: at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1133)
    [https-host1_FQDN]: at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:355)
    [https-host1_FQDN]: at org.apache.catalina.startup.Embedded.start(Embedded.java:995)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.start(WebContainer.java:431)
    [https-host1_FQDN]: at com.iplanet.ias.web.WebContainer.startInstance(WebContainer.java:500)
    [https-host1_FQDN]: at com.iplanet.ias.server.J2EERunner.confPostInit(J2EERunner.java:161)
    [https-host1_FQDN]:
    [https-host1_FQDN]: info: HTTP3072: [LS ls1] http://host1_FQDN:58080 [i]ready to accept requests
    [https-host1_FQDN]: startup: server started successfully
    Success!
    The server https-host1_FQDN has started up.
    The server infact, didn't start up (nothing even listening on 58080).
    However, if AMConfig.properties is left as it originally was, and only serverconfig.xml files were changed as mentioned above, web servers started fine, and things worked all okay. (Alright, except for some glitches when viewed in /amconsole. If /amserver/console is accessed, all is good. Can this mean that all is still not well? I am not sure).
    So far so good. Now comes the sad part. When the same is done on Solaris 9, things dont work. You continue to get the above error, OR the following error, and the web server will refuse to start:
    Differences in Solaris and Windows are as follows:
    1. Windows hosts have 1 IP and hostname. Solaris hosts have 3 IPs and hostnames (for DS, DPS, and webserver).
    No other difference from an architectural perspective.
    Any help / insight on why the above is not working (and why the hell does the documentation seem so sketchy / insecure / incorrect).
    Thanks a bunch!

  • Can't get sticky load balancing to work

    I'm really puzzled why sticky LB is not working for a simple case I'm trying. I have two simple JSP's, both registered (see web.xml and ias-web.xml below). I'm using lite session and set distributable to false. Just in case someone can tell by just looking at my session id if it's supposed to be sticky or not, it looks like following -
    GXLiteSessionID-4818869464307751325
    My two JSP's are also attached below, and they're pretty simple. A new session is supposed to be created in login page and clicking on the logout page invalidates the session.
    What I see is that each request (whether login or logout) is randomly sent to any server. For example, if I go to login once, further request to login or logout (whether through refresh or by clicking on the link) is not necessarily sent to the same server.
    Any idea what's missing in my setup? I've tried different types of load balancing (round robin, etc.) so I know that's not it.
    Thanks a lot in advance.
    Jitu
    -----web.xml-------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN' 'http://java.sun.com/j2ee/dtds/web-app_2_2.dtd'>
    <web-app>
    <display-name>WebDesk</display-name>
    <distributable>false</distributable>
    <servlet>
    <servlet-name>TestLogin.jsp</servlet-name>
    <jsp-file>TestLogin.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
    <servlet-name>TestLogin.jsp</servlet-name>
    <url-pattern>TestLogin.jsp</url-pattern>
    </servlet-mapping>
    <servlet>
    <servlet-name>TestLogout.jsp</servlet-name>
    <jsp-file>TestLogout.jsp</jsp-file>
    </servlet>
    <servlet-mapping>
    <servlet-name>TestLogout.jsp</servlet-name>
    <url-pattern>TestLogout.jsp</url-pattern>
    </servlet-mapping>
    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name></realm-name>
    <form-login-config>
    <form-login-page></form-login-page>
    <form-error-page></form-error-page>
    </form-login-config>
    </login-config>
    </web-app>
    -----ias-web.xml------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE ias-web-app PUBLIC '-//Sun Microsystems, Inc.//DTD iAS Web Application 1.0//EN' 'http://developer.iplanet.com/appserver/dtds/IASWebApp_1_0.dtd'>
    <ias-web-app>
    <servlet>
    <servlet-name>TestLogin.jsp</servlet-name>
    <guid>{A6D6B277-288D-1C22-C3CA-0800209A2F7C}</guid>
    <servlet-info>
    <sticky>true</sticky>
    <sticky-lb>true</sticky-lb>
    </servlet-info>
    </servlet>
    <servlet>
    <servlet-name>TestLogout.jsp</servlet-name>
    <guid>{B88B7D19-28B9-1C22-EE63-0800209A2F7C}</guid>
    <servlet-info>
    <sticky>true</sticky>
    <sticky-lb>true</sticky-lb>
    </servlet-info>
    </servlet>
    <session-info>
    <impl>lite</impl>
    <timeout-type>last-access</timeout-type>
    <timeout>60</timeout>
    <secure>false</secure>
    <domain></domain>
    <path>/</path>
    <scope></scope>
    </session-info>
    </ias-web-app>
    -----TestLogin.jsp-------
    <%
         java.util.Date date = new java.util.Date();
         HttpSession sess = request.getSession(true);
         System.out.println(date + ":TestLogin.jsp: sessionid = " + sess.getId() + ", new = " + sess.isNew());
    %>
    <HTML>
    <HEAD>
    <TITLE>TestLogin</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
    <p>
    You are now logged in.<br>
    <br>
    TestLogin.jsp: sessionid = <%=sess.getId()%>, new = <%=sess.isNew()%><br>
    <br>
    Click here to logout.
    </BODY>
    </HTML>
    ----TestLogout.jsp-------
    <%
         java.util.Date date = new java.util.Date();
         HttpSession sess = request.getSession(true);
         System.out.println(date + ":TestLogout.jsp: sessionid = " + sess.getId() + ", new = " + sess.isNew());
    %>
    <HTML>
    <HEAD>
    <TITLE>TestLogout</TITLE>
    </HEAD>
    <BODY BGCOLOR="#FFFFFF" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
    <p>
    TestLogout.jsp: sessionid = <%=sess.getId()%>, new = <%=sess.isNew()%><br>
    <br>
    <%
    sess.invalidate();
    %>
    You are now logged out.<br>
    <br>
    Click here to login.
    </BODY>
    </HTML>

    Hi,
    I think it's best to wait for sometime and check the behaviour of sticky load balancing for sometime, the reason being one or more of the following...
    - Although sticky feature ensures that the component is run at a single server, when combined with load balancing and under heavy user loads, the load balancing takes place.
    - If we rule out the previous case, then, the load balancing mechanism, especially, per component based or per server based, sends request by round robin technique initally(around 128 times or so) and then calculates the effeciency of the response time and then follows the per server based or per component based.
    - Meanwhile please ensure that, you have enabled the Sticky LB option under Application using iASAT and please wait for sometime sending requests(probably 130 times) after which it's good to check the mechanism of the sticky bit technique. If it doesn't behaves as it has to then, please let me know and I can help you further on this.
    Regards
    RG

  • 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!
    Jeff

    Right - 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 without a cluster...!!!!????

    Hi boys!
              I have a question for you: my NES proxy server can realize a load
              balancing between 2 weblogic 6.0 servers that are NOT IN A CLUSTER?
              I've done some tests configuring the obj.conf like the 2 weblogic
              servers were in cluster, but I dont' understand if it works correctly.
              May be I ask too much ...
              Thanks
              Patrizia
              

              I'm assuming your using one browser to test this.
              The first time you access a servlet or a JSP that uses session
              tracking, the WL server will store a cookie in the browser. This
              cookie identifies the IP address and port number of the WLS where
              the request was executed (the Primary), and if it is a clustered
              configuation with session replication enable, also a Secondary
              server.
              The next time you make a request to iPlanet (or Apache), wlproxy
              looks at the cookie and directs you to the same WL server - so
              you won't see any load balancing.
              If you quit out of all your browsers, then start a new browser,
              and access it again, you won't have a WL cookie, and the request
              will get load balanced to one of the WL servers.
              Mike
              Patrizia MB <[email protected]> wrote:
              >Thanks Mike,
              >but I've some problems in verifying what you've asserted.
              >In my obj.conf I've put
              >
              > <Object name="wl" ppath="*/servlet/*">
              >
              > Service fn="wl-proxy" WebLogicCluster="10.0.0.3:7060,10.0.0.8:7060"
              >DebugConfigInfo="ON" Debug="ON"
              >
              > </Object>
              >
              >Note that I have 2 NOT-Clustered WLS instances behind
              >NES: I used
              >the "WebLogicCluster" property in the obj.conf only because
              >this
              >is the only way - as far as I know ! - to specify multiple
              >nodes to the
              >proxy.
              >
              >
              >With your suggestion, accessing the URL
              >"http://<your-nes-server>/?__WebLogicBridgeConfigInfo"
              >I can see this:
              > Query String: '__WebLogicBridgeConfig'
              > This entry is cluster aware.
              > ClusterID (from obj.conf): "10.0.0.3:7060,10.0.0.8:7060"
              > WebLogic Cluster List:
              > 1.Host: '10.0.0.8' Port: 7060 Primary
              > General Server List:
              > 1.Host: '10.0.0.3' Port: 7060
              > 2.Host: '10.0.0.8' Port: 7060
              >
              >
              >
              >
              >
              >In spite of that, there's no load-balancing!
              >I checked the 2 access files on the 2 nodes, and I see
              >that all my
              >requests go to the same server 10.0.0.8.
              >Why?
              >According to which logic 10.0.0.8 has been defined the
              >Primary? (They
              >are both Administration Servers)
              >
              >I hope you'll answer to my questions!
              >
              >TIA
              >
              >Patrizia
              >
              >
              >
              >
              >
              >
              >Mike Reiche wrote:
              >
              >> The wlproxy for NES will round-robin requests to multiple
              >WL
              >> servers if they are clustered or not clustered.
              >>
              >> You can get some additional information by adding the
              >property
              >> DebugConfigInfo=ON to the WL configuration in obj.conf
              >then
              >> hitting the URL...
              >> http://<your-nes-server>/?__WebLogicBridgeConfigInfo
              >>
              >> Check the WL NSAPI doc.
              >>
              >> Mike
              >>
              >> Monteforte Patrizia <[email protected]>
              >wrote:
              >> >Hi boys!
              >> >I have a question for you: my NES proxy server can
              >realize
              >> >a load
              >> >balancing between 2 weblogic 6.0 servers that are
              >NOT
              >> >IN A CLUSTER?
              >> >I've done some tests configuring the obj.conf like
              >the
              >> >2 weblogic
              >> >servers were in cluster, but I dont' understand if
              >it
              >> >works correctly.
              >> >May be I ask too much ...
              >> >
              >> >Thanks
              >> >
              >> >Patrizia
              >> >
              >
              

  • Sticky sessions and Load Balancing in WL Clusters

    We are using iPlanet Web Server 4.1 with WebLogic App Server; and would like
    to implement load balancing with sticky sessions and in-memory state
    replication.
    The documentation in Weblogic says that -
    When using in-memory state replication, your WebLogic Server Cluster must
    live behind one or more proxy servers. The proxy servers are smart enough to
    send servlet requests, belonging to the same HTTP session, back to the same
    server in the cluster that holds the session data.
    (Ref: http://www.weblogic.com/docs51/cluster/setup.html)
    Does this mean that the sticky session configuration has to be done on the
    iPlanet Web Server itself ?
    Also, if WebLogic is used as the Web server, does WebLogic provide any
    support for sticky sessions?
    Any help, suggestions or links to useful info are welcome.
    Regards,
    Milind.

    Mike,
    im curious as to why you would recomend using weblogic as a web server in 6.1?
    I would not for the following reasons:
    - it costs 10x more per cpu list
    - it doesnt support hardware accell cards (afaik, please let me know if this has
    changed)
    iplanet is really good a serving up static html and gif's, especially in ssl if you
    have a hardware accell card. So if you have a site with lots of graphics and you use
    ssl a lot, I think its still a better solution.
    -Joel
    Mike Reiche wrote:
    You get sticky round-robin by default.
    You need to have session tracking turned on (i think it is on by default). You
    need to have the WL plugin configured in iPlanet.
    When WL creates an httpSession, it writes a cookie (or rewrites the URL) back
    to the browser. On subsequent requests, the browser sends the cookie and iPlanet
    plug-in directs the request to the correct WL instance based on the ip address
    of the WL server embedded in the cookie.
    If you are using WLS 6.1, I would recommend using it as a web server (and not
    using iPlanet). I imagine that it supports stickly load balancing as well.
    Mike
    Joel Nylund <[email protected]> wrote:
    you get round robin by default, if you want a different scheme you can
    use one
    of the other 3 options (weight, random or parameter).
    -Joel
    I think weight can be set in weblogic properties. I havent used any other
    than
    round robin.
    Milind Prabhu wrote:
    We are using iPlanet Web Server 4.1 with WebLogic App Server; and wouldlike
    to implement load balancing with sticky sessions and in-memory state
    replication.
    The documentation in Weblogic says that -
    When using in-memory state replication, your WebLogic Server Clustermust
    live behind one or more proxy servers. The proxy servers are smartenough to
    send servlet requests, belonging to the same HTTP session, back tothe same
    server in the cluster that holds the session data.
    (Ref: http://www.weblogic.com/docs51/cluster/setup.html)
    Does this mean that the sticky session configuration has to be doneon the
    iPlanet Web Server itself ?
    Also, if WebLogic is used as the Web server, does WebLogic provideany
    support for sticky sessions?
    Any help, suggestions or links to useful info are welcome.
    Regards,
    Milind.

  • Help: AM Agent working with load balancing AM Server

    Hi,
    We are trying to set up the policy agent to work with two AM Servers behind a load balancer.
    The agent deployment document said that in the AMAgent.properties we must set
    com.sun.am.loadBalancer_enable=true
    According to the AM deployment guide(http://docs.sun.com/source/817-7644/appE_loadbalancerconfig.html),
    we also set in the AMConfig.properties something like
    com.iplanet.am.lbcookie.name=server1
    com.iplanet.am.lbcookie.value=server1
    The loading balancing just does not work. Can anyone explain how AM agent works under such an deployment
    environment? Some people say the agent can find the real server using the naming service, but the not
    much explanation can be found.
    More info on our two machines:
    The two AM servers are named server1.domain and server2.domain. The virtual LB name is server.domain.
    The two AM servers were installed using the host name server.domain. We added the servers' real name
    in the AM's fqdnMap. At the agent config file, the name service is pointing to the LB.
    Really appreciated any advices.
    Regards,
    Henry

    Thanks for your reply.
    We figured it out lately thanks to help from Bernhard.
    1) use each machine's name to install the AM servers using the same LDAP server.
    2) In AmAgent.propeties, set com.sun.am.loadBalancer_enable=true
    3) In AM server platform, add in all machine's names
    4) In Organization alias, add in two machines' name
    5) In fqdnMap, add in load balancer's name
    6) In LB, set cookie stickiness based on cookie JSESSIONID

  • Access Manager 6 2005Q1 naming service behind load balancer

    Access Manager is running on box A & box B using the Sun Web Server as its front end web server. Box A & B both have a complete install of Sun Web Server, Access Manager, and Directory Server. The Directory servers are set up to replicate changes between each other. Our Policy Agents are running on box C & box D under the Apache web servers.
    Users will access applications on box C/D via https. The policy agents on box C/D should redirect the user to box A/B (via a load balancer VIP)for authentication. The redirect will be https. Once authenticated the user should be redirected back to box C/D.
    All subsequent communications between the Agents on box C/D to AM on box A/B (via load balancer VIP) are http.
    The load balancer VIP is setup in active/failover mode so all requests go to one server. We implemented it this way because our load balancers do not support SSL with cookies.
    The data returned to the agent from a call to the naming service contains the host name of our AM hosts instead of the load balancer VIP. Subsequent calls from the agent to AM bypass the load balancer and go directly to one of the AM hosts.
    We are looking to upgrade our load balancers to a version that supports cookies with ssl in order to take advantage of the second AM host.
    How do we configure AM so the values returned by the naming service contain the load balancer VIP instead of the actual AM host names?

    Bernhard,
    We have upgraded our Web PA to version 2.1-09. One of your previous replies stated the com.iplanet.am.naming.ignoreNamingservice property was not availalbe in the PA agent properties but only in the Java SKD. Indeed we do not see such a key in the new Web PA AMAgent.properties.
    Can you please explain how to configure the AMAgent.properties and/or the Access Manager server (or properties) so that subsequent calls to the services (returned by the call to the naming service) get directed thru the load balancer? Below are the setting in our AMAgent and AMConfig properties files
    AMAgent.properties
    com.sun.am.namingURL = https://lb-mydomain.com:443/amserver/namingservice
    com.sun.am.policy.am.loginURL = https://lb-mydomain.com:443/amserver/UI/Login
    AMConfig.properties
    com.iplanet.am.server.protocol=https
    com.iplanet.am.server.host=am.mydomain.com
    com.iplanet.am.server.port=443
    com.iplanet.am.console.protocol=https
    com.iplanet.am.console.host=lb-mydomain.com
    com.iplanet.am.console.port=443
    com.iplanet.am.profile.host=lb-mydomain.com
    com.iplanet.am.profile.port=443
    com.iplanet.am.naming.url=https://lb-mydomain.com:443/amserver/namingservice
    com.iplanet.am.notification.url=https://lb-mydomain.com:443/amserver/notifica
    tionservice
    If we set com.iplanet.am.server.host=lb-mydomain.com we get an exception when trying to start the AM web container. I don't know if this may be partof our issue or not. Please comment.
    Thanks,
    Craig

  • 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.
    Heng

    see 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

Maybe you are looking for

  • Any other ways to get parameters of a URL in a window method ?

    Hi, In SDN, i find the below two ways to extract the URL parameters, when i pass them while opening a new window. But, unfortunately they dont work for me. so, would like to know, if any other ways are existing to extract the URL parameters. 1) HANDL

  • Facetime works fine on my iphone, but will not work on my MBA.

    Facetime works fine on my iphone, but will not work on my MBA.   Keeps telling me "unable to verify address" and says it is sending me a verification link to my email address but I never get anything.   Crazy.  After a while it tells then me that it

  • Expdp syntax for a single package

    Hi I have a database runing in 10.2.0.5 On this database there is a package "ARTICLE_CHANGE" which is in "CWODS" schema. Now I need to export this package from this db to another database. OS is AIX. Now please help me to get the expdp exact include

  • Multiple columns in a data file, but accounts not periods

    Hi there, A very quick question. If I have a data file with, for example AcctDetail down the side and accounts across the top, am I right in thinking I can't load like this? Is it only periods that can be in multiple columns? I'm trying to adapt an e

  • WRTG42 v1 Need help with changing the Security Mode

    I need to change my wireless security mode but for some reason whenever I try to change anything the website automatically puts what ever I changed back to normal.  Basically, I try to change an option and the website changes the option back instantl