WAN round-robin load balancing

First things first, I just recently got that horrible distribution Gentoo off my machine and installed Arch for a test run and so far a flipping love it. Just like to thank everyone that made this wonderful piece of Linux.
To the point: I have a box with 3 NIC and it current runs as my LAN gateway. http://pastie.org/608016 is the script I use to do so and as you may have guessed eth0 is my DSL modem eth1 is my LAN switch, eth2 is my cable modem. Currently my LAN runs off just my DSL, if I want to change this and run off the cable I have to change WAN in the script to eth2 and run it. I would like to change this and have it round-robin load balance over my DSL, cable.
I tried
ifconfig eth0 down
ifconfig eth2 down
modprobe bonding mode=0 miimon=100
ifconfig bond0 10.0.0.5
ifenslave bond0 eth0
ifenslave bond0 eth2
inspired by http://ubuntulinuxhelp.com/how-to-use-t … -computer/ and that didn't work at all.
Then I had a look at http://wiki.archlinux.org/index.php/Con … rk#bonding (two ip on two card) but that didn't really make sense to be as you're not specifying what interfaces to bond anywhere.
Could anyone help me?

Let us first set some symbolical names. Let $IF1 be the name of the first interface (if1 in the picture above) and $IF2 the name of the second interface. Then let $IP1 be the IP address associated with $IF1 and $IP2 the IP address associated with $IF2. Next, let $P1 be the IP address of the gateway at Provider 1, and $P2 the IP address of the gateway at provider 2. Finally, let $P1_NET be the IP network $P1 is in, and $P2_NET the IP network $P2 is in.
One creates two additional routing tables, say T1 and T2. These are added in /etc/iproute2/rt_tables. Then you set up routing in these tables as follows:
ip route add $P1_NET dev $IF1 src $IP1 table T1
ip route add default via $P1 table T1
ip route add $P2_NET dev $IF2 src $IP2 table T2
ip route add default via $P2 table T2
What does it mean by 'IP network' ($P*_NET)?

Similar Messages

  • Round-robin Load balancing doesn't work after one instance reboot

    Hi,
              We have two weblogic instances in a cluster. All Http requests are routed through the plug-in for load-balancing(round-robin). One instance in a cluster is shutdown for production maintenance. Now all requests are being forwarded to the second instance. When the first instance is started, only the new users are forwarded to the first instance. The requests from users already logged in are not forwarded to the first instance. Due to this the second instance is over-loaded.
              How to prevent this and make weblogic to distribute the load even after the server restart? This is a production problem and I highly appreciate your responses.
              Thanks,
              Prasad Dantuluri

    it worked when I removed the value entered in the "Unicast Broadcast Channel" and restarted the cluster. Don't know what is supposed to go in that field but hey.

  • Shared public IP with same tcp port (round robin/load balance)

    Hi all,
    I want to know if I can do that with my ASA5515-X, I have two servers that can do the same thing, there are SSO servers, What I want to do is to publish the 2 servers on Internet with the same public IP address and on TCP 443.
    Is it supported ? will it works like load balancing per sessions ?
    or do I need to add an HLB between ASA and my SSO servers ?
    Thanks

    Hi Yann,
    You can configure the ASA to allow traffic to your SSO server from outside on two public IP's. Users can hit either of the IP to reach the inside server. Now, load balancing would be achieved based on source devices sending request to public IP's. If source machine son internet use one public IP more to access the server, ASA can't do anything to load balance in such scenario. Here is how you can accomplish this:
    Assuming SSO server on inside is 192.168.16.110 and two public IP's are 192.168.17.110 and 192.168.17.111
    object network SSO_1
    host 192.168.17.110
    object network SSO_2
    host 192.168.17.111
    object network SSO
    host 192.168.16.110
    object service https
    service tcp source eq https
    nat (inside,outside) source static SSO SSO_1 service https https
    nat (inside,outside) source static SSO SSO_2 service https https
    Hostname(config)# sh xl
    2 in use, 6 most used
    Flags: D - DNS, i - dynamic, r - portmap, s - static, I - identity, T - twice
    TCP PAT from inside:192.168.16.110 443-443 to outside:192.168.17.110 443-443
        flags sr idle 0:00:06 timeout 0:00:00
    TCP PAT from inside:192.168.16.110 443-443 to outside:192.168.17.111 443-443
        flags sr idle 0:00:08 timeout 0:00:00
    Verification:
    Hostname(config)#    packet-tracer input outside tcp 4.4.4.4 discard 192.168.17.110 443
    Phase: 1
    Type: UN-NAT
    Subtype: static
    Result: ALLOW
    Config:
    nat (inside,outside) source static SSO SSO_1 service https https
    Additional Information:
    NAT divert to egress interface inside
    Untranslate 192.168.17.110/443 to 192.168.16.110/443
    Phase: 2
    Type: ACCESS-LIST
    Subtype: log
    Result: ALLOW
    Config:
    access-group outside in interface outside
    access-list outside extended permit ip any any
    Additional Information:
    Phase: 3
    Type: CONN-SETTINGS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 4
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 5
    Type: NAT
    Subtype: rpf-check
    Result: ALLOW
    Config:
    nat (inside,outside) source static SSO SSO_1 service https https
    Additional Information:
    Phase: 6
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 7
    Type: FLOW-CREATION
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    New flow created with id 3670, packet dispatched to next module
    Result:
    input-interface: outside
    input-status: up
    input-line-status: up
    output-interface: inside
    output-status: up
    output-line-status: up
    Action: allow
    ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    Hostname(config)#    packet-tracer input outside tcp 4.4.4.4 discard 192.168.17.111 443
    Phase: 1
    Type: UN-NAT
    Subtype: static
    Result: ALLOW
    Config:
    nat (inside,outside) source static SSO SSO_2 service https https
    Additional Information:
    NAT divert to egress interface inside
    Untranslate 192.168.17.111/443 to 192.168.16.110/443
    Phase: 2
    Type: ACCESS-LIST
    Subtype: log
    Result: ALLOW
    Config:
    access-group outside in interface outside
    access-list outside extended permit ip any any
    Additional Information:
    Phase: 3
    Type: CONN-SETTINGS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 4
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 5
    Type: NAT
    Subtype: rpf-check
    Result: ALLOW
    Config:
    nat (inside,outside) source static SSO SSO_1 service https https
    Additional Information:
    Phase: 6
    Type: IP-OPTIONS
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    Phase: 7
    Type: FLOW-CREATION
    Subtype:
    Result: ALLOW
    Config:
    Additional Information:
    New flow created with id 3671, packet dispatched to next module
    Result:
    input-interface: outside
    input-status: up
    input-line-status: up
    output-interface: inside
    output-status: up
    output-line-status: up
    Action: allow
    Sourav

  • Default WAN in RV042 Load Balancing

    If I choose the RV042 mode as load balancer and bind some protocol to specific WANs, what will happen to the protocols that I didn't bind to any specific WAN? will they go to WAN1 by default?
    Thanks

    Hi,
    When Load Balance is enabled, RV042 will dispatch (using weighted Round Robin) incoming sessions to WAN1 and WAN2 according to the ratio of the WAN bandwidth. A session is defined by a TCP connection or a UDP stream with certain timeout.
    I found this in the users guide.   
    *  Dual WAN. There are two functions provided for users – Smart Link Backup and Load Balance..
    *  If Smart Link Backup is selected, you only need to choose which WAN port is the primary and then the other will be the backup. See Figure 6-22. 
    *  If Load Balance is selected, there will be two main choices:
    •    By Traffic – Intelligent Balancer (Auto) and user defined. See Figure 6-23.  First, choose the Max. Bandwidth of Upstream (64K/128K/256K/384K/512K/1024K/1.5M/2M/2.5M or above) and Downstream (512K/1024K/1.5M/2M/2.5M or above) for WAN1 and WAN2, as provided by your ISP.
    •    Intelligent Balancer (Auto): When choosing Intelligent Balancer, it will automatically compute the maximum bandwidth of WAN1 and WAN2 by using Weighted Round Robin to balance the loading. If (upstream / downstream / upstream or downstream) bandwidth is excessive (30%, 40%, 50%, 60%, 70%, 80%, 90%), bring up the second link.  When there is an inactivity time-out (None/10min/20min/30min/40min/50min/60min), the second link will be terminated.
    Adding to this is the operation of Network Service Detection (NSD), which allows RV042 to ping the liveliness of the default gateway of the WAN port or a specified Host. The retry timeout and retry count will affect how long RV042 determines the WAN is down. By default the detection time is
    (Retry timeout) + (Retry count) * (5 sec)  // the 5 sec is hard coded (which is about 1 minute)

  • Rv042 dual-wan threshold based load balance?

    I have an RV042 (it's old, silver/dark grey plastic front one) w/ firmware 1.3.13.02-tm.
    The reason we bought this (long ago) was to balance two WAN connections, one with unlimited data and one capped monthly.  It did that once, but for a couple years both connections have been unmetered so it's just been balancing them 50/50.  As of today one WAN connection (the new much faster one) is back to being metered but I can't figure out how to configure the RV042 as it once was to prefer sending traffic over the slow, unmetered connection first, and only use the faster metered connection when necessary.
    It's been a long time and honestly I only vaguely remember the ability to prioritize a connection based on % of bandwidth used so that all traffic would go over the unlimited connection 1st until it was flooded, and only then fall over to the metered connection.  This is totally different than the weighted round robin, or smart link backup.
    I found this 3rdparty pforum post that supports that vauge memory and suggests this was eliminated netweem firmware 1.23 and 1.3:
    http://www.linksysinfo.org/index.php?threads/rv042-load-balancing-options-from-the-manual-where-to-find.15512/#post-69948
    So I humlbly ask...  Is it possible to replicate this functionality with the current firmware? if so how?  If not, how to do roll back to firmware 1.23?
    It sounded like perhaps I could assigned WAN1 a bandwidth of 100000 (even though it's really 1500) and then assign WAN2 a bandwidth of 1 (even though it's really 20000) and the result might be the prioritization I'm looking to achieve...  but I feel like I'm stumbling in the dark at the point.
    Just FYI, I'm not at all opposed to buying new hardware to acheive this if it's not terribly expensive (ie. <$200).  I'd rather not, but I've got to solve this quick.

    Hi Jon,
    I Also have one of these routers.
    On the bottom mine says (v02) which means its hardware version is 2.
    I just got this one brand new for home as I have been using them for a very long time now. However I have been using them for VPN and now I am needing the same functionality as you.
    I am currently running Firmware Version: 1.3.12.19-tm
    If you login to the web management (eg 192.168.1.1) and go to System Management > Dual-WAN
    Down the bottom you will see "Protocol Binding".
    This is all I know of to send specific ports or applications via a specific WAN.
    I'll give you an example of how I am using it currently.. (BTW it seems to be working OK, But you are on a higher firmware)
    eg: WAN1 is more reliable than WAN2 which is a cheap unlimited service.
    So I bind port 5060 (sip), port 80 (http) and port 443 (https) to WAN1 so that my VOIP phone is on the good service and so is all web traffic.
    so all the other stuff can use the unlimited connection.
    Also, My current bandwidth settings are
    WAN          UPSTREAM          DOWNSTREAM
    1                384                       8000
    2                384                       10000
    And Under: System Management > Bandwidth Management you can also prioritize those ports.
    This may help you in some way, So maybe you can help me..
    Your post has made me not want to upgrade the firmware.. Can you please confirm that this functionality exists still?
    Thanks

  • Best practice for load balancing on SA540

    Are there some 'best practice' guide to configure out load balancing on SA540 .?
    I've got 2 ADSL lines and would like device to auto manage outgoing traffic .. Any idea ?
    Regards

    Hi,
    SA500 today implements flow based round robin load balancing scheme.
    In the case of two WAN link (over ADSL), by default, the traffic should be "roughly" equally distributed.
    So in general, users should have no need to configure anything further for load balancing.
    The SA500 also supports protocol binding (~PBR) over WAN links. This mechanism offers more control on how traffic can flow.
    For example, if you have 1 ADSL with higher throughput than the other ADSL link offers, you can consider to bind bandwidth-hungry app on the WAN link connecting to the higher ADSL link and the less bandwidth-hungary app on the other one. The other traffic can continue to do round robin.  This way you won't saturate the low bandwidth link and give users better application experiences.
    Regards,
    Richard

  • RV042 won't load balance

    Good morning everyone,
    I've had the RV042 router for some time. I currently have it setup with two internet connections. One from Speakeasy.net and the other from comcast. My problem is that, even though I have "weighted round robin" load balancing turned on, the only connection that ever works for downloading or uploading stuff is the speakeasy connection. The only time the comcast connection turns on is when there's a problem with the speakeasy connection.
    I tried configuring it to prefer the comcast connection by setting the maximum download speed at 50Mb/s and the speakeasy max at 15Mb/s and I get nothing. I have it set to load balancing mode and it is not simply set to the fail over mode. Is there a way to get both of my connections working in an alternating fashion? I would like the router to know that if it's downloading movies of a *sensitive type* on the speakeasy connection, to use my comcast connection to continue my work because it has no load on it at the time.

    Hello,
    Many thanks for the screen shots and updates.  A couple of thoughts.
    The load balancing ought to load balance by sending more out of the one link than the other.
    If I understand you correctly, it is not using the second connection except only when the primary is down. It appears you have this configured correctly.
    For outgoing traffic I would expect to see some load balancing, although load balancing is not usually a perfect ratio ... but in your case you are not seeing anything.
    For incoming traffic, this should depend based on the outgoing address.  For example, if the WAN 1 interface was used, then the packets would be using the NAT'ed address of WAN1 and as such these packets should return via this interface.
    Do you have any 1-to-1 NAT configured?  I am wondering if this could skew the results by favoring one outgoing port and not the other. 
    Can you please check again to verify that there is in fact no load balancing what-so-ever?  Many thanks in advance for your efforts.
    For the failover however, you should probably use the other option which is to 'remove the connection' when down.  The setting you have now will not remove the connection.
    As for preferring one interface over another for downloads and the like, you can try protocol bindings.  Example, lets say that your downloads occur on port 80.  If you do not use port 80 for your work, you can bind these to the alternate WAN connection.  Just a thought ... and this might allow you to 'direct' some traffic for recreational and the others for biz.
    When using port binding, failover will still work.
    I noticed a newer version of code, dated July 30 2009.  This has a different date but appears to be the same version #.  The link to the downloads is here:
    http://tools.cisco.com/support/downloads/pub/Redirect.x?mdfid=282413304
    Have a good night, Happy Thanksgiving too.
    Andrew Lee Lissitz

  • Caching across load-balance Webservers

    My application uses a round-robin load balancing mechanism with 4 Webservers. We have just upgraded from 1.3 to 1.4.0_1 and have discovered that our jar caching only works for individual servers. E.g., if you go directly to the same webserver every time, the jars will not be re-downloaded - however if you go to each of the 4 servers, you will have 4 copies of the same jar file.
    Note: this worked perfectly under 1.3. All the web content is EXACTLY the same on all of the servers. All of the jars have the same version number.
    The Plugin documentation makes no mention of examining the server host IP for the jar content - only the jar version. So, my question is:
    How can we prevent the jars from being downloaded multiple times?

    bump

  • 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 for JSPs and servlets

    Hi:
              I am using IIS as the proxy server, with the WLS plug-in, to a WLS
              cluster. This provides round robin load balancing just fine. Will it
              provide weight based load balancing if I set 'weblogic.system.weight'
              differently on each server, or is that not relevant for clustering JSPs
              and servlets?
              Sincerely,
              Ashish
              

    Currently the plugins ( for NES, IIS and Apache) just use the round robin
              algorithm. the property
              weblogic.system.weight is used only be weblogic's replica aware clusterable
              RMI/EJB stubs.
              To use this property for your JSP/Servlet load balancing you have to use
              weblogic server as proxy fron-ending your weblogic cluster.
              --Viresh Garg
              Ashish Vimal wrote:
              > Hi:
              > I am using IIS as the proxy server, with the WLS plug-in, to a WLS
              > cluster. This provides round robin load balancing just fine. Will it
              > provide weight based load balancing if I set 'weblogic.system.weight'
              > differently on each server, or is that not relevant for clustering JSPs
              > and servlets?
              > Sincerely,
              > Ashish
              

  • OSB jms clustering - load balancing seems to be not working

    Hi All,
    I have one admin server and two managed servers running ( one of these managed server is running in the remote linux machine) in a cluster
    I have connectionfactory created with load balance enabled with round robin
    and server affinity is disabled
    I have queue created as uniformly distributed Q
    I have a proxy service with load balancing as roundrobin and endpoint URL as below
    jms://rdoelapp001011:61703,rdoelapp001013:61703/synergyConnectionFactory1/MM_gridQ0
    If I execute this proxy sending messages it always go to one server only. There is no message going to the other server.
    If I shutdown the server that receives messages then the other server is receiving messages. Seems like fail-over is working but not the load-balancing
    There is one point may be worth mentioning here is, from the admin console if I look at the servers for the clusters it has below information
    Name      State      Drop-out Frequency      Remote Groups Discovered      Local Group Leader      Total Groups      Discovered Group Leaders      Groups      Primary      
    synergyOSBServer1     RUNNING     Never     0     synergyOSBServer1     1     synergyOSBServer1     *{synergyOSBServer1}*     0          
    synergyOSBServer2     RUNNING     Never     0     synergyOSBServer1     1     synergyOSBServer1     *{synergyOSBServer1, synergyOSBServer2}* 0
    one server has groups as {synergYOSBServer1} instead of {synergyOSBServer1, synergyOSBServer2}. Does that look correct?
    here is my jms xml file
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://xmlns.oracle.com/weblogic/weblogic-jms" xmlns:sec="http://xmlns.oracle.com/weblogic/security" xmlns:wls="http://xmlns.oracle.com/weblogic/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-jms http://xmlns.oracle.com/weblogic/weblogic-jms/1.1/weblogic-jms.xsd">
    *<connection-factory name="synergyConnectionFactory1">*
    *<sub-deployment-name>synergySubDeploy1</sub-deployment-name>*
    *<default-targeting-enabled>false</default-targeting-enabled>*
    *<jndi-name>synergyConnectionFactory1</jndi-name>*
    *<client-params>*
    *<client-id-policy>Restricted</client-id-policy>*
    *<subscription-sharing-policy>Exclusive</subscription-sharing-policy>*
    *<messages-maximum>10</messages-maximum>*
    *</client-params>*
    *<transaction-params>*
    *<xa-connection-factory-enabled>false</xa-connection-factory-enabled>*
    *</transaction-params>*
    *<load-balancing-params>*
    *<load-balancing-enabled>true</load-balancing-enabled>*
    *<server-affinity-enabled>false</server-affinity-enabled>*
    *</load-balancing-params>*
    *<security-params>*
    *<attach-jmsx-user-id>false</attach-jmsx-user-id>*
    *</security-params>*
    *</connection-factory>*
    <uniform-distributed-queue name="errorQ">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <jndi-name>errorQ</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    <reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
    </uniform-distributed-queue>
    <uniform-distributed-queue name="undlvQ">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <jndi-name>undlvQ</jndi-name>
    <load-balancing-policy>Round-Robin</load-balancing-policy>
    <forward-delay>-1</forward-delay>
    <reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>
    </uniform-distributed-queue>
    *<uniform-distributed-queue name="MM_gridQ0">*
    *<sub-deployment-name>synergySubDeploy1</sub-deployment-name>*
    *<default-targeting-enabled>false</default-targeting-enabled>*
    *<jndi-name>MM_gridQ0</jndi-name>*
    *<load-balancing-policy>Round-Robin</load-balancing-policy>*
    *<forward-delay>5</forward-delay>*
    *<reset-delivery-count-on-forward>true</reset-delivery-count-on-forward>*
    *</uniform-distributed-queue>*
    <saf-imported-destinations name="synergySAFImportedDest1">
    <sub-deployment-name>synergySubDeploy1</sub-deployment-name>
    <default-targeting-enabled>false</default-targeting-enabled>
    <saf-queue name="gridQ0">
    <remote-jndi-name>MB_gridQ0</remote-jndi-name>
    <local-jndi-name>gridQ0</local-jndi-name>
    <non-persistent-qos>At-Least-Once</non-persistent-qos>
    <time-to-live-default>0</time-to-live-default>
    <use-saf-time-to-live-default>false</use-saf-time-to-live-default>
    <unit-of-order-routing>Hash</unit-of-order-routing>
    </saf-queue>
    <jndi-prefix>MB_</jndi-prefix>
    <saf-remote-context>synergySAFContext1</saf-remote-context>
    <saf-error-handling>synergySAFErrorHndlr1</saf-error-handling>
    <time-to-live-default>0</time-to-live-default>
    <use-saf-time-to-live-default>false</use-saf-time-to-live-default>
    <unit-of-order-routing>Hash</unit-of-order-routing>
    </saf-imported-destinations>
    <saf-remote-context name="synergySAFContext1">
    <saf-login-context>
    <loginURL>t3://rdoelapp001013:7001</loginURL>
    <username>weblogic</username>
    <password-encrypted>{AES}z9VY/K4M7ItAr2Vedvhx+j9htR/HkbY2LRh1ED+Cz5Y=</password-encrypted>
    </saf-login-context>
    <compression-threshold>2147483647</compression-threshold>
    </saf-remote-context>
    <saf-error-handling name="synergySAFErrorHndlr1">
    <policy>Log</policy>
    <log-format xsi:nil="true"></log-format>
    <saf-error-destination xsi:nil="true"></saf-error-destination>
    </saf-error-handling>
    </weblogic-jms>
    Any help will be greatly appriciated
    Edited by: 818591 on Feb 16, 2011 11:28 AM

    I am not getting you here "the right approach is to make OSB run on the man server cluster and not on admin server. "
    I have a jms proxy service that I created from admin console
    And also I have gone thru the step 5 in the link below
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/deploy/config.html#wp1524235
    If I am not wrong, the proxy service endpoint URI determines where it is pointing to. If it is a cluster environment, it should point to a clustered address
    My proxy has below endpoint URI
    jms://rdoelapp001011:61703,rdoelapp001013:61703/synergyConnectionFactory1/MM_gridQ0
    and rdoelapp001011:61703,rdoelapp001013:61703 is my cluster address
    As per your suggestion "To fix your problem, *make osb to run on the cluster* and specify the same URL for the jms proxy service"
    Could you please provide some instruction how would I "make osb jms proxy service to run in a cluster"
    As a note, I have Q defined as a distributed Q and connection factory targets to the cluster. UDQ also targtes to the cluster.
    Just for a testing I have created another manged server running local to the machine where my admin server is running
    And I created a proxy by following steps as I mentioned above and with endpoint URI as below
    jms://rdoelapp001011:61703,rdoelapp001013:61703,*rdoelapp001011:61700*/synergyConnectionFactory1/MM_gridQ0
    where the new address of my cluster is rdoelapp001011:61703,rdoelapp001013:61703,rdoelapp001011:61700
    It did create consumers in both the managed servers in the cluster that are running locally, but no consumers in the remote managed server.
    So I am kind of leaning towards thinking that there is some incorrect setup for the remote managed server and may be admin server is not able to communicate to the remote server for some reason but not sure about it..
    As a note the cluster is setup to communicate using "unicast" channel
    and I created a channel in each manged server with the same name
    here is the cluster configuration
    <name>synergyCluster1</name>
    <cluster-address>rdoelapp001011:61703,rdoelapp001013:61703,rdoelapp001011:61700</cluster-address>
    <default-load-algorithm>round-robin</default-load-algorithm>
    *<cluster-messaging-mode>unicast</cluster-messaging-mode>*
    *<cluster-broadcast-channel>synergyChannel1</cluster-broadcast-channel>*
    *<number-of-servers-in-cluster-address>3</number-of-servers-in-cluster-address>*
    </cluster>
    here are the twoOSBserver configuration
    <server>
    <name>synergyOSBServer1</name>
    <machine xsi:nil="true"></machine>
    <listen-port>61703</listen-port>
    <cluster>synergyCluster1</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    </web-server>
    <server-debug>
    <debug-scope>
    <name>weblogic.jms.saf</name>
    <enabled>true</enabled>
    </debug-scope>
    <debug-jmssaf>true</debug-jmssaf>
    <debug-saf-sending-agent>true</debug-saf-sending-agent>
    </server-debug>
    <listen-address>localhost</listen-address>
    <network-access-point>
    *<name>synergyChannel1</name>*
    *<protocol>cluster-broadcast</protocol>*
    *<listen-address>localhost</listen-address>*
    *<listen-port>61702</listen-port>*
    <http-enabled-for-this-protocol>true</http-enabled-for-this-protocol>
    <tunneling-enabled>false</tunneling-enabled>
    *<outbound-enabled>true</outbound-enabled>*
    *<enabled>true</enabled>*
    <two-way-ssl-enabled>false</two-way-ssl-enabled>
    <client-certificate-enforced>false</client-certificate-enforced>
    </network-access-point>
    <jta-migratable-target>
    <user-preferred-server>synergyOSBServer1</user-preferred-server>
    <cluster>synergyCluster1</cluster>
    </jta-migratable-target>
    </server>
    <server>
    <name>synergyOSBServer2</name>
    <ssl>
    <enabled>false</enabled>
    </ssl>
    <machine xsi:nil="true"></machine>
    <listen-port>61703</listen-port>
    <listen-port-enabled>true</listen-port-enabled>
    <cluster>synergyCluster1</cluster>
    <web-server>
    <web-server-log>
    <number-of-files-limited>false</number-of-files-limited>
    </web-server-log>
    </web-server>
    <listen-address>rdoelapp001013</listen-address>
    <network-access-point>
    *<name>synergyChannel1</name>*
    *<protocol>cluster-broadcast</protocol>*
    *<listen-address>rdoelapp001013</listen-address>*
    *<listen-port>61702</listen-port>*
    <http-enabled-for-this-protocol>true</http-enabled-for-this-protocol>
    <tunneling-enabled>false</tunneling-enabled>
    *<outbound-enabled>true</outbound-enabled>*
    *<enabled>true</enabled>*
    <two-way-ssl-enabled>false</two-way-ssl-enabled>
    <client-certificate-enforced>false</client-certificate-enforced>
    </network-access-point>
    <java-compiler>javac</java-compiler>
    <jta-migratable-target>
    <user-preferred-server>synergyOSBServer2</user-preferred-server>
    <cluster>synergyCluster1</cluster>
    </jta-migratable-target>
    <client-cert-proxy-enabled>false</client-cert-proxy-enabled>
    </server>
    <server>
    Edited by: 818591 on Feb 18, 2011 11:26 AM

  • Getting load-balancing with distributed destination to work...

    Hello,
              I try to setup a proof of concept for balancing heavy load over several JMS server instances on WLS 8.1 SP4:
              I have
              - 2 managed servers in 1 cluster plus adminserver on 1 machine (WinXP)
              - 1 JMS server on each server (no migrateable targets used), having 1 physical queue
              - 1 distributed queue deployed to the cluster, consisting of the two physical queues
              - 1 connection factory deployed to the cluster with round-robin load-balancing enabled, and server affinity disabled
              - 1 test JSP using the connection factory from above, doing a complete re-connection per test message
              - 1 MDB ejb module deployed to the cluster
              and the result is:
              1. Calling the JSP through the second server instance load-balances messages on both JMS servers, that's fine ...
              BUT
              2. Calling the JSP through the first server instance processes all messages on the first server instance's JMS server, no message is ever sent to the second server.
              What could be the reason for the different behaviour of both servers?
              extract from config.xml used:
              <Cluster
              MulticastAddress="237.0.0.1"
              Name="clusterA"/>
              <EJBComponent Name="jtest"
              Targets="clusterA"
              URI="ejb/test.jar"/>
              <WebAppComponentName="test"
              Targets="clusterA"
              URI="web/test"/>
              <JMSConnectionFactory
              JNDIName="ConnectionFactory"
              LoadBalancingEnabled="true"
              ServerAffinityEnabled="false"
              Targets="clusterA"/>
              <JMSServer
              Name="JMSServer1"
              Store="JMSFileStore1"
              Targets="server1">
              <JMSQueue
              JNDIName="TestQueue.server1"
              JNDINameReplicated="true"
              Name="TestQueue-server1"/>
              </JMSServer>
              <JMSServer
              Name="JMSServer2"
              Store="JMSFileStore3"
              Targets="server2">
              <JMSQueue
              JNDIName="TestQueue.server2"
              JNDINameReplicated="true"
              Name="TestQueue-server2"/>
              </JMSServer>
              <JMSDistributedQueue
              JNDIName="TestQueue.DD"
              Name="TestQueueDD"
              Targets="clusterA">
              <JMSDistributedQueueMember
              JMSQueue="TestQueue.server1"
              Name="TestQueue.server1Memeber"/>
              <JMSDistributedQueueMember
              JMSQueue="TestQueue.server2"
              Name="TestQueue.server2Member"/>
              </JMSDistributedQueue>
              Cheers
              Martin

    Ok solved, it works as expected, when running on two solaris hosts

  • Load Balancing ITS on ERP 2005 displayed through EP 7.0

    We are having trouble setting up our Cisco ACE load balancer for ITS on ERP 2005 displayed through EP 7.0.  The help documentation is a little confusing as to whether ITS does its load balancing by itself, or with ERP 2005, you need an external load balancer.  Does ITS on ERP 2005 provide load balancing?
    If it does not, we need an external load balancer and are trying to figure out how to configure the ACE tool for that, particularly around session persistence.  Since we are also doing reverse proxy, we would need to use session cookies to key the sticky round-robin load balancing off of.  The documentation is a little vague on what the cookie variable is for ITS sessions.  Can anyone point me to detailed instructions on how to do this?

    Hi,
    despite the SAP Help, you can also check out the following blogs. They explain step-by-step configuration to get a SAP Web Dispatcher running:
    How to...Configure SAP Webdispatcher as a reverse proxy
    How to...Configure SAP Webdispatcher as a reverse proxy
    Setup SAP Web Dispatcher with URL Filter
    Setup SAP Web Dispatcher with URL Filter on SuSE Linux 9.0
    How to setup webdispatcher to load balance portal in a clustered environment
    How to setup webdispatcher to load balance portal in a clustered environment
    br,
    Tobias

  • Oracle service bus, endpoint load balancing

    I was create configuration like this (dot instead of whitespace):
    ............................______osb1
    Client ---- Apache LB
    ...........................\______osb2
    Apache Load Balancer (Apache LB) have "Round-robin" load balancing algorithm
    Servers "osb1" and "osb2" are in the cluster.
    Proxy Service (PS) route to Business Service (BS).
    BS have two endpoints (EP1, EP2). Load balancing algorithm in properties of BS is "none".
    When i send request to Apache LB then i get info from like this order: EP1, EP2, EP1, EP2...
    Why load balancing beetween endpoints working instead get info from endpoint which is first in endpoint's list ?
    Edited by: 915814 on 19.07.2012 13:10
    i was check via tcpdump. Packets going beetween nodes, but messages going only to first node. This i can see in Dashboard at Service Health tab in business service properties. So "none" in Load Balancing algorithm is work.

    Hi Adel,
    Customization file will be the best solution for your problem. You may generate a environment specific customization file. To know more, please refer -
    http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/consolehelp/customization.html#wp1129087
    Simplest solution would be to generate a customization file and replace the existing URI's with the required one's using replace all option of textpad. Run this customization file at target environment, after importing the OSB configuration.
    Regards,
    Anuj

  • WLS proxy plugin does not load balance

    I have a cluster created with two app servers in separate boxes and a Weblogic proxy plug-in to forward the client requests to the servers. However, the proxy doesn't distribute the load equally. Very often 90% of the user sessions go to one server and 10% to the other. Both boxes have the same hardware specs.
              Does the WLS plugin really support round-robin load balancing ? I'd appreciate any information to solve this problem.
              Thanks
              - Miguel
              I'm using WLS 6.1 SP2.
              

    Are you load balancing the web servers? What kind of web servers are you
              using?
              Miguel Vilar wrote:
              >I have a cluster created with two app servers in separate boxes and a Weblogic proxy plug-in to forward the client requests to the servers. However, the proxy doesn't distribute the load equally. Very often 90% of the user sessions go to one server and 10% to the other. Both boxes have the same hardware specs.
              >Does the WLS plugin really support round-robin load balancing ? I'd appreciate any information to solve this problem.
              >Thanks
              >- Miguel
              >I'm using WLS 6.1 SP2.
              >
              

Maybe you are looking for

  • Release strategy for Schedule lines in SD

    Hello All Can we create a release strategy for Schedule Lines in Scheduling Agreement? If Yes How? I have already maintained a release strategy for Item Level... which I want to put it for Schedule line as well.... Thanks in advance.

  • Tables are deleted but database size does not change in sql server 2008r2

    Hi All, 20GB Tables are deleted in my database but database size does not change and disk size showing same size.

  • Third Party Business Process Within Purchasing /IM(Without SD)

    Hi Friends, We are planning to implement third party order process within Purchasing to procure the office stationary materials for the business. The problem here is how to deal with the materials returns to supplier after original invoice is process

  • File Download in a Report

    Hi all We use Oracle Apex 3.1... in a Report while Downloading the File from the Report Out put, the File is getting opened on the same Brower? instead of asking an Option to Save at location Number / Date Format DOWNLOAD:SMR:SMRFILE:ID:::SMR:::inlin

  • ITunes sync disables EAS sync

    I have user that just updated iTunes to the latest version. Now whenever he syncs with his laptop, his EAS will stop syncing. He can go back in and setup the account again and it will work until he syncs. Then it stops.