Advice on Camunda best practice usage

I’ve been working with Camunda for a couple of month now, but i’m not sure if i’m using Camunda the way it was intended to work for best performance, or no.
For example is it better to build 1 process instance which u use to evaluate many tokens, or is it better to make a new process instance every time, so they each have a single token only (of course i’m not including parallel or inclusive gateway).
And also for Async continuations, i know how it works in general, but in most cases, i can build a complex working process without using any Async, so when is it better to use it, is there specific cases?

Hi and welcome to the world of Camunda,

Generally, there is usually a clear notion of a process instance. Separating these instances clearly is a good, i.e., having one instance per token. This also allows cleaning up historic data, which can lead to performance improvements eventually. Or put the other way around: If the database grows too big, the performance goes down.
Asnyc is used to manage transaction boundaries. By default, Camunda tries to make transactions as large as possible. If no error occurs, this can also have a positive impact on the performance. In a case of failure, you risk that more tasks need to be repeated. You need to find the right tradeoff.
The documentation includes best practices on setting transaction boundaries and performance tuning:

1 Like