Camunda 7 external tasks not performing well

HI there,

I have a simple application with few user tasks and few external tasks in between for syncronising some data, data updates etc etc.
Sometime the external tasks work very fast like they get started immediately after some work is available but sometime the subscribers take some time before it starts executing like osmetimes more than a few minutes.

There are no heavy operations inside the subscribers so once it starts, it completes very fast but only the startup of subcibers take some time a t times which creates issues as the statuses are not updated etc unless the external tasks/subrcibers exeute.

Please could you advise what could be the issue and what can be done to ensure that subscribers start immediately as soon as some work is available for them to pick up.

Thanks

Please note we have plane to migrate these solutions to camunda 8 at a later point in time, but with these kind of issues we might need to re-evaluate what we are doing.

Hello @Pramod_Yadav ,

a longer task acquisition time can (mainly) have 2 causes:

  • the backoff strategy in the client is very defensive
  • the async response timeout is very long

For both causes, the same principle applies: As soon as the load is increasing, the timeouts will be shorter, so the system will perform better under load. While this is natural for the backoff strategy, the async response timeout is a bit special:

In the REST API, the request is held open until the timeout hits in. While the request is open, it will by default poll the external task api internally twice: when the request arrives and just before it times out.

As this applies for all open requests, all requests will be executed more often internally as there are more of these requests, the system becomes more active and external tasks are picked up faster.

My recommendation would be: decrease or disable the backoff strategy first and keep the async response timeout low to make the system more performant. As the overall load increases, also increase these 2 factors and see how it influences the performance of the system (execution speed/delay, network traffic, RAM, Database IO).

I hope this helps

Jonathan

1 Like

thanks Jonathan, please could you help me with the properties that I can add to my application properties file to set aync response timeout (with an optimal value ? ) and to disable backoff strategy ?

Hello @Pramod_Yadav ,

you can review the configuration here:

I hope this helps

Jonathan

1 Like