Question on Call Activity Processing

This is probably a newbie question but struggling with it nonetheless so any insights would be helpful.

  1. I have a BPMN model that includes a call activity that is tagged as parallel multi-instance.
  2. The call activity would be called 2,4,6…times for each process instance.
  3. In testing, the process instance is triggered by a message start event and I am inserting 1,000 messages so this may be considered “heavy” volume?
  4. For the call activity, I do not have any checkboxes checked for the “Asynchronous Continuations” section nor are the “Multi instance Asynchronous Before” or “Multi instance Asynchronous After” checkboxes checked
  5. I am running Camunda Run EE 7.15.1
  6. When executing the test, the majority of the BPMN runs fairly quickly but it slows down significantly at the call activity step. In fact, I will see something like 950 waiting at the Call Activity and 50 process instances completed 1 minute into the test. Everything associated with the Call Activity is very slow during the volume test but much less noticeable when executed with 30 messages.
  7. The Call Activity also has a service task that inserts 2 records into a SQLite table. I don’t believe this is causing the slowness but maybe.

My questions are:
a. Would setting the asynchronous checkboxes improve things? If so, which ones? I am hesitant to touch without knowing more about their usage.
b. Should I stay away from Call Activities in general? Are they slow by their nature?
c. I have done Zero tuning of the EE. Installed the EE and testing ir out. Is there some parameter that I could tweak there to improve the throughput?

Any help or places to go luck would be most appreciated

Thanks

Steve

Can you upload the processes you’re talking about, a lot has to do with how you’ve modeled your process.

It’s very likely to have a big impact yes. But you’re right - you should for sure read about exactly how to use them. Transactions in Processes | docs.camunda.org

Nah, they’re really useful and don’t inherently cause performance problems when used correctly.

There’s a lot of tweaking you can do but you should look at it last only after understanding how to improve performance by modeling better.

Thanks for looking at this with me Niall.

I am attaching the main process (SLS_Example.bpmn) and the Called Activity (SLS_Posting_LIne_Creation_example.bpmn). I had to take a couple of proprietary things out of the diagram to post but I didn’t change any property settings. I should also note that I am using Python and the REST API for the external service tasks as well as making use of DMN extensively.

So you will be able to my properties but it won’t be executable.

Thanks for your previous answers and any insights are most appreciated

Steve

SLS_Example.bpmn (15.1 KB)
SLS_Posting_Line_Creation_Example.bpmn (3.5 KB)