Using ACE for proxy server load balancing
Hello groups,
I wanted to know your experiences of using ACE for proxy server load balancing.
I want to load balance to a pool of proxy servers. Note: load-balancing should be based on the HTTP URL (i can't use source or dest. ip address) so that
a certain domain always gets "cached/forwarded" to the same proxy server. I don't really want to put matching
criteria in the configuration (such as /a* to S1, /b* to S2, /c* to S3,etc..), but have this hash calculated automatically.
Can the ACE compute its own hash based on the number of "online" proxy servers ? ie. when 4 servers are online, distribute domains between 1,2,3,4 evenly.
Should server 4 fail, recalculate hash so that the load of S4 gets distributed across the other 3 evenly. Also load-balancing domains of S1 ,S2 and S3 should not change if S4 fails.....
regards,
Geert
This is done with the following predictor command:
Scimitar1/Admin# conf t
Enter configuration commands, one per line. End with CNTL/Z.
Scimitar1/Admin(config)# serverfarm Proxy
Scimitar1/Admin(config-sfarm-host)# predictor hash ?
address Configure 'hash address' Predictor algorithms
content Configure 'hash http content' Predictor algorithms
cookie Configure 'hash cookie' Predictor algorithms
header Configure 'hash header' Predictor algorithm
layer4-payload Configure 'hash layer4-payload' Predictor algorithms
url Configure 'hash url' Predictor algorithm
Scimitar1/Admin(config-sfarm-host)# predictor hash url
It does hash the url and the result takes into account the number of active proxies dynamically.
This command has been designed for this kind of scenario that you describe.
Gilles.
Similar Messages
-
Web Proxy Server Load Balancing
I deployed Sun Jave Web Proxy Server 4.0 as a Reverse Proxy. I would also like to use it as a load balancer. As per the instructions, I configured the obj.conf file as shown below
Route fn="set-origin-server" server="https://xx.xx.xx.xx" server="https:yy.yy.yy.yy" sticky-cookie="JSESSIONID" sticky-param="jsessionid" route-hdr="Proxy-jroute" route-cookie="JROUTE" rewrite-host="true" rewrite-location="true" rewrite-content-location="true"
But, it is not doing load balancing. It always sends to the first server (xx.xx.xx.xx). I guess that is because I used mapping as follows:
NameTrans fn="reverse-map" from="https:xx.xx.xx.xx" to="https://server.net" rewrite-location="true" rewrite-content-location="true"
NameTrans fn="redirect" from="http://server" url="https://xx.xx.xx.xx"
NameTrans fn="map" from="https://server" to="https://xx.xx.xx.xx" rewrite-host="true" name="pa-server-farm1" NameTrans fn="map" from="/" to="https://xx.xx.xx.xx" rewrite-host="true" name="pa-server-farm1"PathCheck fn="url-check"ObjectType fn="block-ip"
ObjectType fn="cache-enable" cache-auth="1" cache-https="1" query-maxlen="0" min-size="0" Service fn="proxy-retrieve"
I don't understand how routing and mapping work togother. Any help in this regard is appreciated.Motor,
the following is from the Web Proxy Sever Administration guide. Please, check the last paragraph for the explanation. Any how, the problem is simple. I am using the Proxy Server as the Reverse proxy. And at the same time, I would like to use two origin servers (for load balancing) instead of one. How do I make both load balancing and reverse proxy functions work together?
Thanks
To Create Regular or Reverse Mapping
Access the Server Manager, and click the URLs tab.
Click the Create Mapping link.
The Create Mapping page is displayed.
In the page that appears, provide the source prefix and source destination for the regular mapping,
for example,
Source prefix: http://proxy.site.com
Source destination: http://http.site.com/
Click OK.
Return to the page and create the reverse mapping, for example,
Reverse mapping:
Source prefix: http://http.site.com/
Source destination: http://proxy.site.com/
To make the change, click OK.
Once you click the OK button, the proxy server adds one or more additional mappings. To see the mappings, click the lView/Edit Mappings link. Additional mappings would be in the following format:
from: /
to: http://http.site.com/
These additional automatic mappings are for users who connect to the reverse proxy as a normal server. The first mapping is to catch users connecting to the reverse proxy as a regular proxy. The �/� mapping is added only if the user doesn't change the contents of the Map Source Prefix text box provided automatically by the Administration GUI. Depending on the setup, usually the second mapping is the only one required, but the extra mapping does not cause problems in the proxy. -
Reverse Proxy and Load Balancer for SMP 2.3 and Agentry Application
Hi Expert,
I'm putting in place a mobile solution composed by SMP 2.3 SPS 4 and SAP ECC 6.0. In the SMP 2.3 I created the agentry server and I have deployed my agentry application.
My SMP/Agentry infrastructure is composed by two servers therefore I need a load balancer for balance the load into the several servers. Furthermore I need to use a reverse proxy in my DMZ zone.
Based on what indicated in the SAP note "1904213 - SAP Mobile Platform Server Release Information" the Apache Reverse Proxy is not supported for Agentry clients. Agentry uses nginx for Reverse Proxy.
I also found the following document How-to-Guide for Reverse Proxy and Load Balancing in SAP Mobile Platform 3.x that explain how to set-up a reverse proxy and load balancer with nginx and apache.
Both the SAP note and the HOW to document are refereed to SMP 3.0 and not to SMP 2.3.
I would know if the NGINX must be used also for SMP 2.3.
Any suggestion/information is appreciated.
Thanks in advance
g.Please see Agentry Network Landscapes
-
App.server load balancing for SAP System with 1 PS
Hi,
In SAP CPS 7.0 (Build M26.12) I have a SAP system with Central Instance + 10 App.servers, but all instances are managed by 1 ProcessServer.
After activating the "App.server load balancing" setting in SAP system definition the application servers are becoming visible in CPS with their load factors (number of BGD wp's on app.servers) and load numbers (number of active jobs on app.servers).
This is so far fine, but the additional functionality is not working as I would expect, I have issues with 2 functionalities:
1. Based on documentation after activating also the XAL connection the CPS should submit the job on app.server with best performance based on XAL monitoring data filling the TARGET_SERVER parameter.
This functionality is not working for me at all
2. A useful functionality after activating the "App.server load balancing" setting is that the ProcessServer is going to "Overloaded" status when all BGD wp's of SAP system are occupied, thus restricting submitting new jobs during overload situation. But I had an issue also with this functionality, after SAP system recovery from overload situation, the CPS still remained in Overload status (so no new jobs were submitted).
As a workaround I had increased the treshold values for loads on all app.servers for this SAP system, what was fine for several days, but after a while I believe this was a reason of unexpected performance issues in CPS, therefore I have deactivated the 'App.server load balancing" setting at all for this ProcessServer.
I would appreciate your feedbacks with this functionality.
Thanks and Regards,
Ernest LiczkiHi Preetish,
This connect string option is to loadbalance RFC connections. These are balanced upon login, once you are connected to a particular application server (AS) you stay on that server until you reconnect.
Since CPS uses multiple RFC connections, this will result in the connections being distributed over the available AS resources which is fine as long as they are generally evenly loaded. If you have certain AS hosts that are continuosly more loaded than the rest, then you probably don't want the CPS RFC connections to end up on these servers.
The original question is about loadbalancing of batch jobs over the available AS resources, and this is done independent of the RFC connection load balancing. Even if all CPS RFC connections are pinned to the DB/CI host, you can still loadbalance jobs over the available SAP AS hosts, either by using SAPs builtin balancing, or the CPS algorithm by activating the checkbox as indicated in the first entry in this thread.
Finally, to reply to Ernest's question: I believe there are some fixes on the app load balancing in the latest release, M26.17 should be available on the SWDC now.
Regards,
Anton.
Edited by: Anton Goselink on May 29, 2009 9:06 PM -
Using a single CSS to load balance multiple services
Is it possible to use a single CSS to load balance 3 different services (server farm) ? That mean the CSS need to advertise 3 VIP
I'm thinking of two scenarios:
1 - configure the CSS to use 4 interfaces: 1 to public, 3 to private (each interface will plug-in to a different vlan/server farm)
2 - configure the CSS to use 2 interfaces: 1 to public, 1 to private (all 3 server farms are in the same vlan)
Will both scenarios work ?
Thanks
--Phillip.Hi Phillip,
both scenarios will work. One CSS can certainly manage more than 3 services! You can even use just one VIP for all traffic, then just create the proper rules to send specific traffic to the corresponding service(s). No need for 3 VIPs.
Regards
-juerg -
For a true load balancing and high-availability OHS, OPMN, and mod_oc4j
i have read this link of Enabling Clustering on oc4j9.0.4 standalone app server
http://www.oracle.com/technology/docs/tech/java/oc4j/htdocs/getstart.htm#1015479
To test the clustering, start up the load balancer by executing "java -jar loadbalancer.jar".
C:\OC4J_EXTENDED\j2ee\home>java -jar loadbalancer.jar
In a future release of Oracle Application Server, loadbalancer.jar will be
desupported. Because of this, we strongly suggest that you discontinue your use
of loadbalancer.jar in this release. Under high loads, loadbalancer.jar may not
function properly. For a true load balancing and high-availability solution,
please move to use OHS, OPMN, and mod_OC4J. For more information, please see
http://otn.oracle.com/products/ias/ohs/content.html
Balancer initialized...
what load balancer should i use for web clustering
<frontend host="balancer-host" port="balancer-port" />
balancer-host=localhost
balancer-port=80
for all nodes i mentioned same host and port in http-web-site.xml.Is it correct?
i completed all the steps and run http://localhost:6666/session/SessionServlet
i hit 3 times
in the different browser http://localhost:7777/session/SessionServlet
instead of coming 4 it starting from 1 only.can i use this loadbalancer.jar or not?
how to mod_oc4j in standalone app server -
Hi
I try to install Load Balancing with Dev6/Patch2 and OAS4.0.7.1
on 4 Machines with WinNT Server 4 SP 5. I tried to do it as
described in the documentation. But I did not succeed. It seems
to be that the Doc is not complete or wrong. Could somebody give
an example how to set up the LB Servers and Clients as NT
Services ?
Thank's in advance
Charly
nullHi Steven,
No LACP and SLB are different.
LACP is the Link Aggregation Control Protocol, which is the protocol used within the IEEE 802.3ad (now 802.1AX) Link Aggregation mechanism to control the bundling and unbundling of the physical links into an aggregate link.
Server Load Balancing is a feature in IOS to load balance traffic destined to a virtual IP across a group of real IP. From Configuring Server Load Balancing:
The SLB feature is a Cisco IOS-based solution that provides IP server load balancing. Using the IOS SLB feature, the network administrator defines a virtual server that represents a group of real servers in a cluster of network servers known as a server farm.
Server Load Balancing is effectively what the Cisco Application Control Engine (ACE) etc., does but in IOS.
Regards -
the servers are loadbalancing between the switches '3'
and '2' and the link between the two switches is blocked.
This link was forwarding before and thus any traffic going to the server was
send to the Servers correctly no matter on which switch they are active.
However after addition of another link in between the switches 'root'
and '1', the path cost to the root has decreased and thus the link
between the '2' and '3' is Blocking and the other link between
the '2' and '1' is Forwarding as it should be ideally. But
this would be creating an issue because the trafic coming from outside i.e.
through switch '1' to the server will be correctly send to the
server if the server NIC is active on the '3' because the Virtual MAC
addresses are binded accordinlgy. In case the server falls onto the other
NIC which is on the '2' the traffic won't be able to pass because the
MAC address is not binded on the trunk connecting the switches '1'
and '2'. This binding cannot be done because the same MAC address is
being learned on the another trunk on the '1' which is connecting
to 'root'. So if we bind the same Virtual MAC on two trunks on the same
switch ('1') then this will cause MAC Address Flapping on the
switch and hence canot be done.
In another case,we can able to bind virtuak MAC on two trunks on the same
switch('1') and it's working fine.
The servers are load balancing in round robin fashion. each server has 2 NICs and work in Active-Passive mode. The servers load balance each other when all their active links are connected to '3' switch but when two of the active NICs of two servers are connected to '3' and the rest of the two active NICs from the other two servers are connected to '2' switch then only the forst 2 servers load balance and the other 2 servers do not load balance.
Please help.
Thanks in advance.In my experience, server load balancing is one of the most difficult things to get going properly in a switched LAN environment. Switched LANs are designed so that one MAC address can only be bound to one switch port. Therefore, if you have two NICs with the same MAC address (real or virtual), then you will get flapping somewhere.
I have seen various ways that the manufacturers try to get around this limitation of switched LANs. For example, one technique I have seen, practiced by ISA Server, is to use a multicast MAC address for the service so that frames go to both exit ports. But that does not always work well unless you tweak the network to acommodate it.
What sort of servers are they, and what system is used for the load balancing?
Kevin Dorrell
Luxembourg -
WLC Radius Server Load Balance
Hi,
Can someone provide me detailed description on how WLC Radius Server Load balance works.
Becuase, I encounted a problem of User Authenticated with the 1st Radius Server, but Accounting Records are actually on 2nd Server .
Any response will be very appreciated
-AngelaHi Angela,
I pasted below the part of config guide explaining the different modes. In summary :
-Fallback off means : when 1st radius server shows dead , WLC moves to the second. And will only change again when the 2nd is dead too.
-Passive means : whent 1st radius is dead, WLC moves to the second. If there is a new authentication coming in, it will try the 1st radius server again
-Active means : WLC constantly sends radius probes to detect when primary is back up.
config radius fallback-test mode {off | passive | active}
where
•off disables RADIUS server fallback.
•passive causes the controller to revert to a server with a lower priority from the available backup servers without using extraneous probe messages. The controller simply ignores all inactive servers for a time period and retries later when a RADIUS message needs to be sent.
•active causes the controller to revert to a server with a lower priority from the available backup servers by using RADIUS probe messages to proactively determine whether a server that has been marked inactive is back online. The controller simply ignores all inactive servers for all active RADIUS requests. Once the primary server receives a response from the recovered ACS server, the active fallback RADIUS server no longer sends probe messages to the server requesting the active probe authentication. -
CSM(content switching module) supports the 2 tier server load balance ?
hi everyone,
Does any know the CSM support 2 tier server load balance ?
this means that CSM perform the server load balance for servers and the same servers require another time Server load balance. In the other word,
the CSM supports server port and client port for server load balance ?
thanks
fred.Hi, this seems to describe a typical case of multi-tier design where the CSM needs to handle 2 types of connections:
1. clients->CSM->serverfarm1
2. serverfarm1->CSM->serverfarm2
We usually refer to the second type of connections as server-to-server load balanced traffic.
There is no problem in handling that scenario with the CSM and you have a few options.
In particular, each virtual server on the CSM can be configured to only accept incoming connections from a specific VLAN, so you can use that as an additional security measure or to distinguish connections based on which VLAN they come in from.
If you want to, you could even configure the CSM with 2 virtual servers with the same exact virtual IP and L4 port, but listening on 2 separate VLANs (the client-side VLAN and serverfarm1 VLAN) and use a different server farm based on that.
One important thing to keep in mind when handling server-to-server load balanced connections: if serverfarm1 and serverfarm2 are on the same VLAN, you have to configure "client NAT" for the server-to-server connections, to force the return traffic back to the CSM. -
Web Dispatcher - Reverse Proxy and Load Balancing
I'm finding limited docs on Web Dispatcher with regard to reverse proxy and load balancing. Are you aware of some recent presentations or docs in this area? The info on help.sap.com is not what I'm looking for.
Thanks.Hi,
best thing is that you look at your scenarios and test the web dispatcher against each of it, like:
- SSL
- Portal only
- Web Dynpro ABAP / Java
- BSP
- Different backend systems like SRM, MDM
- Several backends with 1 Web Dispatcher
After getting a list of use cases that you can test quite easily (installation of Web Dispatcher is done fast and can be done on a local PC), you can contact SAP Support and ask them about the specific problems and questions you encountered. This way, you'll get the official answer, sometimes they will even inform you about "secret" parameters and options.
As of the reverse proxy functionality: there are several version of Web Dispatcher available that differ from the functionality offered. The latest version - 7.2 - is the one that offers the most, i.e. allows you to create rewrite rules like Apache.
SAP Note 908097 - SAP Web Dispatcher: Released releases and applying patches
br,
Tobias -
Hi,
I am looking for a load balancing feature in SQL cluster likely RAC in ORACLE.
Can you please share anything like this ?
Thanks,
Vinodh SelvarajThere is no such thing as RAC in SQL Server, but there are a few ways you could implement some sort of load balancing.
You could, for an instance, have two copies of your database (in different servers) synchronize by using merge replication, and implement load balancing logic in your application.
There's also the Parallel Data Warehouse solution. Requests are distributed across several SQL Server instances, all of them running the same logical set of databases.
http://blogs.technet.com/b/dataplatforminsider/archive/2013/11/15/how-does-sql-server-parallel-data-warehouse-pdw-deliver-the-performance-that-it-does.aspx
You can also implement some HA solutions such as AlwaysOn AG, or maybe log shipping, but keep in mind that the passive node(s) will be read-only, and you'll have to implement the load balancing yourself.
Just because there are clouds in the sky it doesn't mean it isn't blue. But someone will come and argue that in addition to clouds, birds, airplanes, pollution, sunsets, daltonism and nuclear bombs, all adding different colours to the sky, this
is an undocumented behavior and should not be relied upon. -
Comcast claims that are not blocking ports. Technically from what I understand they are not. They just don't recongnize the iCloud server address on their DNS. An Apple Genius gave me a "free access DNS" which they use in the Oakrigde store to sync to iCloud. It works great in the store with my computer and iPhone but not at home. After a comversation with an IT person in Germany he explained that due to the limited number of ports available and the almost infitinite appetite for ports companies often choose to manage the number of ports avialable for use by their customers. What did work for me was to use a secure proxy server with secure encoding. It works great! However as the cloud does seem to go down from time to time I would prefer to also have the USB cable option for syncing.
This does not make sense. If comcast blocked iCloud.com there would be millions of posts here about it, as comcast is one of the largest ISPs in the US. Most likely you have DNS settings messed up in your router or your computer. Ports and DNS have nothing to do with each other. A "port" is just part of a complete URL. Using a port does not have any affect on the ISP, who doesn't even see the port in the packet.
-
If I want to use a public proxy server, do I need to install a software. I can't find any software as most of them are for Windows only.
ThanksI just tried putting the public proxy address to the right (under HTTP and HTTPS), after I clicked applied, it seems like it still wasn't using the public proxy. I went to check out my IP from a website and still shows me original proxy address.
I am using Safari browser. Did I miss something in the setup? -
Issue with using Sun Java Proxy Server
We are trying to access the WebService using the Sun Proxy Server.
When I access the WebService through proxy ,I find the error message in proxy error log as
[18/Oct/2005:19:10:40] failure ( 1288): for host 127.0.0.1 trying to POST http://localhost:1080/yodsoap/services/CobrandLogin, service-http reports: HTTP7760: error reading request body (Client closed connection)
and the access log is as follows:
POST http://localhost:1080/yodsoap/services/CobrandLogin HTTP/1.1" 400 147
But when i see the WebServer access log for the same WebService POST /yodsoap/services/CobrandLogin HTTP/1.1" 200 1783 "-" "Axis/1.1RC1"
This case is happening when the request is compressed for the webservice. and the request headers are as follows:
POST /yodsoap/services/CobrandLogin HTTP/1.1
Content-Type: text/xml; charset=utf-8
Accept: application/soap+xml, application/dime, multipart/related, text/*
User-Agent: Axis/1.1RC1
Host: 127.0.0.1
Cache-Control: no-cache
Pragma: no-cache
SOAPAction: "loginCobrand"
Content-Length: 1412
Connection: close
Content-Encoding: gzip
And the response headers are as follows:
HTTP/1.1 200 OK
Server: Resin/3.0.8
Content-Type: text/xml; charset=utf-8
Transfer-Encoding: chunked
Date: Tue, 18 Oct 2005 13:41:50 GMT
So ,we found out that if we dont use the proxy server,then the WebService is working properly,but if we start using the proxy server,we are encountering HTTP400 error.
Any ideas will help out to solve this problem..???
Thankz in advance.
Regards,
SomendraThis is what I see in the error message:
ProxyFactory initialized in SOAP_CLIENT_MODE
System property : com.yodlee.soap.client.log4j.config not found. Using the default config resource : com.yodlee.util.soap.log4j
ProxyFactory initialized in SOAP_CLIENT_MODE
System property : com.yodlee.soap.client.log4j.config not found. Using the default config resource : com.yodlee.util.soap.log4j
HTTP Header name and value is HTTP/1.1 400 Bad request
HTTP Header name and value is Server Sun-Java-System-Web-Proxy-Server/4.0
HTTP Header name and value is Date Tue, 18 Oct 2005 14:56:21 GMT
HTTP Header name and value is Connection close
com.yodlee.core.CoreRemoteException: org.xml.sax.SAXException: Bad envelope tag: HTML
at com.yodlee.soap.core.login.CobrandLoginSoapClientProxy.loginCobrand(CobrandLoginSoapClientProxy.java:132)
at SoapClient.main(SoapClient.java:45)
Caused by: org.xml.sax.SAXException: Bad envelope tag: HTML
at org.apache.axis.AxisFault.makeFault(AxisFault.java:129)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:543)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:376)
at org.apache.axis.client.Call.invokeEngine(Call.java:2511)
at org.apache.axis.client.Call.invoke(Call.java:2481)
at org.apache.axis.client.Call.invoke(Call.java:2176)
at org.apache.axis.client.Call.invoke(Call.java:2099)
at org.apache.axis.client.Call.invoke(Call.java:1622)
at com.yodlee.soap.core.login.CobrandLoginSoapBindingStub.loginCobrand(CobrandLoginSoapBindingStub.java:225)
at com.yodlee.soap.core.login.CobrandLoginSoapClientProxy.loginCobrand(CobrandLoginSoapClientProxy.java:119)
... 1 more
Caused by: org.xml.sax.SAXException: Bad envelope tag: HTML
at org.apache.axis.message.EnvelopeBuilder.startElement(EnvelopeBuilder.java:107)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:934)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1635)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:634)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:333)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextImpl.java:230)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:538)
... 9 more
Maybe you are looking for
-
Using field symbols in OOPs programming...have ur points.
Hi all, I want to use field symbols in OOPS programming like this... But the system is giving me dump....help me. START-OF-SELECTION. CREATE OBJECT OBJ. FIELD-SYMBOLS : <AB> TYPE ANY. ASSIGN OBJ TO <AB>. CALL METHOD <AB>->add EXPORTING a =
-
Help! InDesign won't package?
Yesterday, I was unable to collect and package my InDesign CC 2014 jobs. This has changed sin three days ago when I was packaging and collecting fine. The error message reads: InDesign could not package the document 'ZIG-1029 FloorSysLit_12.indd'. Ca
-
How do I get my podcasts on my iTunes to transfer to my iPhone 5?
Wasn't quite sure if this is a iTunes, Podcast app, Music App, iPhone5 , iOS, or OS X issue, but they are all Apple products, so I will start here. The podcasts that I have on my iTunes on my Mac are not showing up on my iPhone 5 after what appears t
-
About XE DB Templates and packaging a custom DB
Hi. I see XE does not provide DBCA. With DBCA you can package a DB: i mean, you can create a template to contain a seed database. This gives you the chance of create "a custom seed database" which is great for ISV. I wonder whether it's possible to i
-
Failed to load report application server settings from the system registry
Hi , I have make test to run the reporter application server with simple double click but I got the attach Error message. can any one please advice ?