This chapter discusses load balancing considerations for the Forms Server. Load balancing allows you to maintain a pool of middle tier machines (a "server farm") and balance the load of server traffic among these machines. Load balancing is implemented using a servlet that can run on any Web server.
This chapter contains information about the following topics:
Here are some terms you will want to understand before you set up load balancing:
In many cases, the Primary Node will also act as a Secondary Node (for example, if it has Forms Server installed and running on it).
Figure 12-1 illustrates the events that occur when you use load balancing:
The following events occur when you use Forms Server load balancing:
If the Load Balancer Server is unavailable, at Step 3 the Forms servlet will not get any information back about which is the least-loaded system. Instead, the Forms servlet will redirect the user's browser to the URL specified by the MetricsServerErrorURL parameter. The user does not necessarily know this is happening because the redirect is behind the scenes from the user's viewpoint.
You can implement load balancing using the following executables provided with Forms Server:
You will need to install and configure the load balancing components on each machine that will be load balanced. This includes the machine with the primary node and any other machines containing secondary nodes.
You will also need to edit the forms60_server shell script on each machine that is using load balancing. The forms60_server shell script is found in the <ORACLE_HOME>/6iserver directory.
Be sure that:
You will need administrator privileges to make the changes, and will need to stop and restart the process in order for the configuration changes to take effect.
To configure for load balaning, you must set the following paramaters on each machine within the forms60_server shell script:
Set the port number and protocol to be used by the Forms Server Listener by editing the forms60_server shell script found in the <ORACLE_HOME>/6iserver directory. The following syntax is used to start the Forms Server Listener:
Forms Server Port: The default is 9001. Enter the TCP/IP port number to which the Forms Server will listen for form execution requests.Note:
Protocol: The default is socket. This is the protocol that will be used for communication between the Forms Runtime Engine and the Forms Java applet. The value should only be changed to HTTP or HTTPS if communications must pass through a firewall. (For example, select HTTP if this machine is inside a firewall and the Forms applications must be available to users outside the firewall. Select HTTPS to use HTTP 1.1 with SSL, secure sockets layer.)
You can accept the default parameters values, or modify the startup parameter values for the Forms Server. Change the port number only if it is already being used by another program.
Set the port numbers to be used by the Forms Load Balancer Server by editing the forms60_server shell script found in the <ORACLE_HOME>/6iserver directory. The following syntax is used to start the Load Balancer Server:
Data Port: The default is 9011. Enter the TCP/IP port number on which to listen for load data from Load Balancer Clients (which will run on Secondary Nodes).
The Data Port value for the Load Balancer Server must match the Data Port values for ALL Load Balancer Clients.
Request Port: The default is 9021. Enter the TCP/IP port number on which to listen for requests for the "least loaded host" made by the Forms servlet. This value is written to the formsweb.cfg file as the MetricServerPort parameter.
The serverHost parameter is set to the value %LeastLoadedHost% (i.e. serverHost=%LeastLoadedHost%). You should append your domain name to the serverHost parameter if a domain name is required in your network for name resolution. For example, serverHost=%LeastLoadedHost%.us.oracle.com.
Maximum Clients. The default is 1000. Specifies the maximum number of Load Balancer Clients that will be running and sending load information to the Load Balancer Server.
Trace Level: The default is 0 for no tracing. Specifying 10 allows you to create output for the Load Balancer Server.Note::
This section includes the lines from
until the line
Set the Load Balancer host name and data port number to be used by the Forms Load Balancer Client by editing the forms60_server shell script found in the <ORACLE_HOME>/6iserver directory. The following syntax is used to start the Load Balancer Client:
Load Balancer Host: The default value is originally set to the name of the local machine you installed the software on. This name needs to be changed to the name of the host containing the Load Balancer Server. Enter the full host name of the Primary Node (the machine on which the Load Balancer Server is running). The value can contain up to 256 characters.
Data Port: The default is 9011. Enter the TCP/IP port number to which the load balancer server is listening for load data. The Data Port value for each Load Balancer Client must match the Data Port value for the Load Balancer Server.
Scale Factor: The default is 4 for Windows NT and 1 for UNIX. The scale factor allows you to reduce the imbalances resulting from varying capacities of Load Balancer processes running on each Load Balancer Client. A system that appears to be the least-loaded system may not necessarily be the best place to run a new process. You should assign a higher value for the scale factor for your lower-capacity systems.
Process Name: The default is f60webm. Setting the value tells the Load Balancer Client to count processes (for load balancing pruposes_ whose executable name matches the name specified. If a value is not specified, all proceses on the machine are counted.