04-06-2023 06:09 AM
I am trying a simple performance test of Activiti core engine 7.6.0.
I have created a simple process with 2 steps and creating multiple processes (1000 per second) but I am facing a issue Actviti side issue not releasing db connection. Other Api's will wait for Db connection and throw Exception (Unable to acquire JDBC connections) because actviti allocating all the connections.
In my testing, I found that the engine cannot scale beyond 50 concurrent threads. At 1-10 threads, it works fine. At 50 threads, I get errors almost half the time, and at larger number of threads, it just gets worse.
I am using Postgres for the DB (connections 1000), and run the test on a Centos 7 machine with 8 cores, 24 GB RAM.
spring.datasource.hikari.connectionTimeout: 100000
spring.datasource.hikari.idleTimeout: 600000
spring.datasource.hikari.maxLifetime: 1800000
spring.datasource.hikari.minimumIdle: 500
spring.datasource.hikari.maximumPoolSize: 850
activiti.async-executor.corePoolSize: 500
activiti.async-executor.maxPoolSize: 700
activiti.async-executor.keepAliveTime: 5000
activiti.async-executor.queueSize: 700
activiti.async-executor.maxTimerJobsPerAcquisition: 50
activiti.async-executor.maxAsyncJobsDuePerAcquisition: 50
spring.activiti.historyLevel: none
spring.activiti.dbHistoryUsed: "false"
spring.activiti.db-history-used: "false"
spring.activiti.history-level: NONE
spring.datasource.testWhileIdle: "true"
spring.datasource.validationQuery: SELECT 1
04-28-2023 12:23 AM
Anyone can update for the same.
Explore our Alfresco products with the links below. Use labels to filter content by product module.