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