cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
473
Views
0
Helpful
2
Replies

How the Load balancing happens in CPO

esramasa
Cisco Employee
Cisco Employee

Hi All,

 

On what bases the process engine selects the process or request and how the load balancing happens.

 

 

1 Accepted Solution

Accepted Solutions

Hi!

I am a little confused by the question (as it refers to "request"), but I am going to assume that you are asking how a High Availability Process Orchestrator environment with several servers chooses which processes running on which server.

The answer to that question is...

In general, processes to be executed are split equally between all servers. The only piece of data being taken into account during process instance assignment is the current load on the servers (as counted by the number of top-level processes, not counting child processes). For example, suppose that there are 3 servers in the environment, and server A is running 5 top-level processes, servers B & C are running 3 top-level processes. When new process is started (e.g. on a schedule or manually or triggered via an external event), it will be assigned to either server B or server C for execution, because servers B & C have less load. If under the same circumstances (A:5, B:3, C:3), there are 4 processes started at the same time. When the work is distributed, the total expected work 5+3+3=11 (existing work) and 4 (new work) will be distributed equally with, with servers B&C each getting 2 new processes.

This is a general load balancing algorithms used by the servers in HA environment to decide which server runs which process instance.

There are other factors that come into play, as some processes/activities can only run on server A or server B for technical limitations (e.g. SAP work against a particular SAP System can only be executed from one server in the environment). When those come into play, the work may end up distributed unevenly.

 

Note that available memory, CPU load, or disk space on servers are not directly taken into account during load distribution.

View solution in original post

2 Replies 2

Hi!

I am a little confused by the question (as it refers to "request"), but I am going to assume that you are asking how a High Availability Process Orchestrator environment with several servers chooses which processes running on which server.

The answer to that question is...

In general, processes to be executed are split equally between all servers. The only piece of data being taken into account during process instance assignment is the current load on the servers (as counted by the number of top-level processes, not counting child processes). For example, suppose that there are 3 servers in the environment, and server A is running 5 top-level processes, servers B & C are running 3 top-level processes. When new process is started (e.g. on a schedule or manually or triggered via an external event), it will be assigned to either server B or server C for execution, because servers B & C have less load. If under the same circumstances (A:5, B:3, C:3), there are 4 processes started at the same time. When the work is distributed, the total expected work 5+3+3=11 (existing work) and 4 (new work) will be distributed equally with, with servers B&C each getting 2 new processes.

This is a general load balancing algorithms used by the servers in HA environment to decide which server runs which process instance.

There are other factors that come into play, as some processes/activities can only run on server A or server B for technical limitations (e.g. SAP work against a particular SAP System can only be executed from one server in the environment). When those come into play, the work may end up distributed unevenly.

 

Note that available memory, CPU load, or disk space on servers are not directly taken into account during load distribution.

Thanks ..It answered my question

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: