Load Balancing for Registered Programs

The value of the parameter gw/reg_lb_level defines the type of load balancing for registered programs. Earlier releases (<4.6D) work with method 0, that is, they use the first free registered program.

The following values are permitted:

·         0 : No load balancing, the first free registered program is used.

·         1 : The program with the lowest counter is used. Every time a registered program is assigned a request, the counter is increased by one.

·         2 : The program with the least load is used. How the load is determined is explained below. 

The value of the parameter gw/reg_lb_ip determines the load value for an IP address, or for a range of IP addresses. A host name can be entered in the place of an IP address. The gateway then determines the IP address for the host name.

The value of a parameter is a list of IP addresses or host names. The corresponding load is output with an equal sign after each IP address. The load is a weighting factor that specifies the strength of a particular server. The higher the value, the weaker the server. The maximum value is 1.

a.b.c.d=val1 e.f.g.*=val2 linux1=val3

Important: You can specify a range of IP addresses instead of a single IP address, for example:

gw/reg_lb_ip = 194.56.48.*=1 194.56.49.*=3

All servers from the 194.56.48 network are highly efficient, the servers from the 194.56.49 network are somewhat weaker, and all other servers are extremely weak and should only be used infrequently.

For load balancing level 2 (gw/reg_lb_level), the registered program with the least load is used. The load is calculated as follows.
When the registered program logs on to the gateway, the IP address is used to determine what the load of the IP address is. The system searches the list in the order specified by the profile parameter. This value is added to the load when this program receives a request.  If the IP address is not found, the system uses the value defined by parameter gw/reg_lb_default. This ensures that a strong server is assigned more requests than a weaker server. A server that registers itself with the gateway receives as initial value the highest load of all servers with the same registration ID. If no servers are registered with this ID, or if no requests have been assigned to these servers, the value is 0.

 Example of request assignment to the servers

The following values are defined in the profile:

gw/reg_lb_level=2
gw/reg_lb_ip= server1=2 server2=3 server3=4 server4=4

This results in the following weighting values for the various servers:

Server1: Load 2
Server2:
Load 3
Server3:
Load 4
Server4:
Load 4

Request

Server with Least Load

Load after Request Assignment

 

 

Server 1

Server 2

Server 3

Server 4

 

All servers start with 0

0

0

0

1. Request

Server1 -> load + 2

2

0

0

2. Request

Server2 -> load +3

2

3

0

3. Request

Server3 -> load +4

2

3

4

4. Request

Server1 -> load + 2

4

3

4

5. Request

Server2 -> load +3

4

6

4

6. Request

Server1 -> load + 2

6

6

4

7. Request

Server3 -> load +4

6

6

8

8. Request

Server1 -> load + 2

8

6

8

8 (*)

 (*) If after request 7, another server logs on that responds to the same registration ID, the system assigns it the highest value of the load value (value 8 in the above example). This server would then participate normally in the load assignment process.

You can influence the weighting values of the IP addresses by dynamically changing its value.

If you want to change an entry in the list, enter the new value as the load. For example, Server1=3

If you want to delete an entry in the list, enter 0 as the “load”. For example, Server2=0

If you want to add an entry, enter the new IP address, or server name. For example, LinuxLab=1

Refer to Parameterization of the SAP Gateway