Backpressure in variable delete/finish process

We have a project wich uses camunda 7.13 and mysql 5.7, and everyday we almost run out of IOPS bursts credits in AWS when many process finish in the same time.

I can see that the most expensive operations are always variable deleting, like in the screentshot below

Anyway to improve this delete to use a batch script or idea on how to implement backpressure on this?

Hi @Jean_Robert_Alves,

that’s how the process engine works.

The only options I see is to be careful with process variables, especially if you have more than one complex variable per process instance.

Maybe you can aggregate all values in a single custom Java Object.

Hope this helps, Ingo

Sure. Thanks for the information!

Current we have 60 variables in each instance, in wich 30 of them are complex object variables. The other 30 are all String variables.

Some of them we are working to stop using it as variables and make it available as data in our mongodb database, and others are just Enumerables that we will save it as String instead of enumerable object.

I know that every object variable saves another row in ByteArray table, and that we are passing this variables through many subprocess, wich causes it to save many copies of this bytearray.

Do you think that changing these enumerator objects to String variables will already bring great improvements, for a first release to save some resources? or the bennefits would be too small for the effort, and so it would be best to stick with the definitive solution (stop using these variables), wich will take longer to implement?

Hi @Jean_Robert_Alves,

I’ve thought about your question I would rephrase it: You want to optimize the process engine for minimizing the cost of Amazaon RDS service.

I would balance the cost of more complicated variable handling against spending more money for the database.

It will only reduce the numbers of ACT_GE_BYTEARRAY rows, the ACT_RU_VARIABLE will stay.

Depending on what a “Burst” is, you can reduce them by delaying the end of the process instance:

grafik

Hope this helps, Ingo