Performance issue while invoking /engine-rest/deployment/create API

Hi Team,

I am using ‘Camunda BPM runtime’ version 7.17.0 with spring boot 2.2.13.RELEASE
While invoking /engine-rest/deployment/create API with less than 10 request is respond within 2sec max. But which putting a load of 100 parallel request for 100 times in a interval of 15sec the performance is hitting badly, sometime the create APi is taking around 27sec.
Note: I am running 3 instance of the spring boot ms having camunda with a memory of 16G each and using a connection pool of 100 idle and max connection.
Can anybody help in this.
Here is the configuration i am using:
datasource:
maximum-pool-size: 100
connection-timeout: 1000
minimum-idle: 100
idle-timeout: 5000

camunda.bpm:
client:
base-url: ****
async-response-timeout: 1000
worker-id: ******
database:
type: postgres
filter:
create: All tasks
job-execution:
queue-capacity: 1000
core-pool-size: 100
keep-alive-seconds: 2000
max-jobs-per-acquisition: 5
max-pool-size: 100
wait-time-in-millis: 1000
max-wait: 2000
default-serialization-format: application/json

Hello @Kshitish ,

creating a deployment means that there a are several things to do like parsing and validating the bpmn, versioning it and creating several db entities.

What is your use case that requires so many deployments to be made?

Jonathan

Hi @jonathan.lukas,

Basically my application need to support dynamic rules and based on the rules we are creating multiple deployments

Hello @Kshitish ,

are talking about DMN only?

In this case, you could create a standalone DMN engine and possibly scale it:

I hope this helps

Jonathan

Thanks @jonathan.lukas for the suggestion, but its improving the performance a bit by .5sec

Hello @Kshitish ,

what are dynamic rules for you? Could you please give an example why you cannot simply reuse existing rule definitions?

Jonathan