Our use case is that we currently have a Main workflow having some tasks(service, user, call activity) and about 5 sub workflows with around 9-10 total number of tasks. And with one process instance, we would be persisting around 250 process variables. In future the number of process instances may increase to around 20,000 running parallely. So my questions is about the efficiency of Camunda in handling the huge amount of data.
Could you please provide the expected performance delay that may occur while “Storing” and “Retrieving” the data from Camunda engine with 20,000 or more process instances running concurrently?
This depends greatly on your database and the resource it can use. Thus, we always recommend to users to make their own performance tests in their environment.
We are using Camunda Database schema and scripts and utilizing rest engine calls for storage and retrieval, so we are not explicitly maintaining the data. Therefore, we are concerned about the Engine’s performance delay that might happen.
While you use the schema, you still provide the database server that hosts the database. Performance depends greatly on the database server’s performance.
One item to consider is 250 process variables is a lot in my experience and will significantly impact performance. If you could roll these up into a single Json structure of name/value pairs, you may see a significant performance improvement as the engine then just manages a single process variable…
This blog post may be of interest…
Thanks for the response. As I doubted, we have started running into memory leaks. With the same scenario as described above with History level FULL and 250 process variables and numerous running instances, can you help me with the probability of running into memory leaks?