cancel
Showing results for 
Search instead for 
Did you mean: 

Performance and Data Connections Issue

Sarbjeetsingh31
Champ in-the-making
Champ in-the-making

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.

  1. Events =  disabled
  2. History = disabled
  3. Async Job Executor config
  4. DB Pool config

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

1 REPLY 1

Sarbjeetsingh31
Champ in-the-making
Champ in-the-making

Anyone can update for the same.