You can use the Load Manager, which is a separate, optional
process, to optimize the use of Application Dispatcher resources on
a network. The Load Manager can route requests to available idle servers
and start additional available servers as needed.
-
The Load Manager listens for requests
from Application Brokers for Application Servers that are idle.
-
If a server is not designated as
being busy, it is allocated to the requesting Application Broker.
When the Application
Server receives the job, it notifies the Load Manager that it is busy
processing the request. The following diagram illustrates how the
Application Server notifies the Load Manager after it has received
a request.
After completing the
job, the Application Server again notifies the Load Manager that it
is free to work on another request. The following diagram illustrates
how the Application Server notifies the Load Manager after it is free
to process the next request.
If no servers are free,
the request is queued by the Load Manager until a server becomes available
or until the time-out value is reached. For pool services, the Load
Manager can start a new server to process the request. The following
diagram illustrates how the Load Manager starts a new server to process
the request.
The new server is then
added to the pool of servers for that service. The following diagram
illustrates how a new server is added to the pool of servers.
By using a
Load Manager to maintain the state of Application Servers, requests
are distributed to idle servers. Each Application Server notifies
the Load Manager when it starts and completes a job by using the Load
Manager socket address that is passed by the Application Broker. This
data is used by the Load Manager during subsequent requests to determine
which Application Servers are busy and to direct the Application Broker
to use an available idle server.
Note: If the Load Manager is not
installed, the Application Broker randomly selects an Application
Server to process the request. Random selection of an Application
Server is adequate for low-traffic environments. However, as traffic
increases, requests can become stalled while waiting for a busy server
even if another server is idle.