cancel
Showing results for 
Search instead for 
Did you mean: 

How to predict process bottleneck?

gromar
Champ in-the-making
Champ in-the-making
I tried to use a simulation to predict process bottlenecks (description how).

Process is simple:
[img]https://raw.github.com/gro-mar/activiti-crystalball/master/simulator/src/test/resources/org/activiti...[/img]

With load 1 new process instance per hour (during 30 simulation days), process report looks like:
[img]https://raw.github.com/gro-mar/activiti-crystalball/master/simulator/src/test/resources/org/activiti...[/img]

When load is increased to 1 new process instance per 45 minutes, we can see process bottleneck:
[img]https://raw.github.com/gro-mar/activiti-crystalball/master/simulator/src/test/resources/org/activiti...[/img]

I would appreciate any opinion.
3 REPLIES 3

jbarrez
Star Contributor
Star Contributor
Why does the second task gets more load than the other ones? Is that because you are simulating a slow user?

gromar
Champ in-the-making
Champ in-the-making
Yes exactly.

https://github.com/gro-mar/activiti-crystalball/wiki/Use-simulation-to-find-the-bottleneck

User Task 1 candidate group is Group1(user1). User1 completes one task in 30 minutes. (values could be taken from user's history see TaskInstanceHistoryExecutor)
User Task 2.1 candidate group is Group3(user3). User3 will work on one task 40 minutes.
User Task 2.2 candidate group is Group2(user2). User2 will work on one task for 1 hour.
User Task 3 candidate group is Group4(user4). User4 will work on one task 50 minutes.

There are reports from 2 simulation runs.
fig. 2 -> load is 1 new process instance per hour (during 30 simulation days).
fig 3. -> load is increased to 1 new process instance per 45 minutes.

jbarrez
Star Contributor
Star Contributor
Ok, pretty cool stuff! nice work!