Load Balancing

Oracle Data Integrator implements load balancing between physical agents.

Concepts

Each physical agent is defined with:

An agent's load is determined at a given time by the ratio (Number of running sessions / Maximum number of sessions) for this agent.

Determining the Maximum number of sessions

The maximum number of sessions is a value that must be set depending on the capabilities of the machine running the agent. It can be also set depending on the amount of processing power you want to give to the Data Integrator agent.

Delegating sessions

When a session is started on an agent with linked agents, Oracle Data Integrator determines which one of the linked agents is less loaded, and the session is delegated to this linked agent.

If the user parameter "Use new load balancing" is in use, sessions are also re-balanced each time a session finishes. This means that if an agent runs out of sessions, it will possibly be reallocated some from another agent.

Note: An agent can be linked to itself. An agent not linked to itself is only able to delegate sessions to its linked agents, and will never execute a session.

Note: Delegation works on cascades of linked agents. Besides, it is possible to make loops in agents links. This option is not recommended.

Agent unavailable

When for a given agent the number of running sessions is equal to its Maximum number of sessions, the agent will set incoming sessions in a "queued" status until the number of running sessions falls below the maximum of sessions for this agent.

Setting up load balancing

To setup load balancing:
  1. Define a set of physical agents, and link them to a root agent (see Create a Physical Agent).

  2. Start the root and the linked agents.

  3. Run the executions on the root agent. Oracle Data Integrator will balance the load of the executions between its linked agents.

Note: The execution agent for a session can be seen in the session window in Operator.

Note: For load balancing to work between agents, it is necessary to have name the agents, that is start them with the -NAME parameter. See Launching a Listener Agent for more details.

See also: