Complete task api performance improvement

Hey guys,

Need some help with respect to performance improvements. Currently we are working with Camunda REST API’s and the response time for these are significant when we have multiple concurrent users. The stats for the same can be found below.

We did a capacity test with respect to the complete task API and have the response times mentioned below. The test was performed on J meter

API - Complete Task | docs.camunda.org
Number of concurrent users per second - 9
Average response time - 1466 ms
Max response time - 2179 ms.

We would like to achieve the same response time as above for 200 concurrent users per minute. Unfortunately Camunda cannot handle the workload. The results for 200 concurrent users is stated below

API - Complete Task | docs.camunda.org
Number of concurrent users per minute - 200
Average response time - 7000 ms
Min response time - 375 ms
Max response time - 11744 ms.

The following configuration is setup for camunda

  1. Camunda runs on kubernetes and currently has 2 pods up and running
  2. Camunda is using MYSQL Database under the hood.
  3. The mysql instance is configured on AWS RDS with the following resources
    Instance class : db.m5.xlarge
    vCPU : 4
    RAM : 16GB
    Engine Version : 5.7.33
    Storage : 100 GiB

We have also set the history level to none in order to improve the performance of the API.
Could you please help us to improve the performance of the complete task rest api

Thanks in Advance.

Hello @aniinprni ,

a quick win for performance improvement would be to do a “Async after” on each user task.

The effect is that directly after completing the task, the state is saved to the database and the thread is returned to the client.

I hope this helps

Jonathan

Hi @jonathan.lukas , could you please guide on how to achieve “Async after” with rest api call ? i am using node js application to call these camunda REST-Api’s.

@jonathan.lukas, could you please guide me on this?

Hi @aniinprni, Jonathan is relating to a setting in Modeler:

2 Likes

Hi @Tobias_Conz @jonathan.lukas , we didn’t got any major performance difference after setting “async after” on user tasks.
Do we need to tweak the thread pool and queue size as well?