I am trying a simple performance test of Activiti engine (5.20).
I created a simple process with four tasks-one task sets up some variables, and invokes a subprocess. The subprocess has 3 tasks-one task creates a random variable, and a gateway uses the value to decide upon one of two branches, each of which has one task, and ends the process.
I am using Postgres for the DB, and run the test on a Centos 7 machine with 4 cores, 8 GB RAM.
I created a driver program, which listens to an HTTP request (using Spark java), and uses the Activiti API to create an instance, and executes it. I am creating one instance of the engine initially.
In my testing, I found that the engine cannot scale beyond 50 concurrent threads. At 1-10 threads, it works fine. At 50 threads, I get errors almost half the time, and at larger number of threads, it just gets worse.
I did not get the impression that this is normal, and so wanted to understand if I am doing something wrong? Or is this to be expected?