Uploaded image for project: 'jBPM'
  1. jBPM
  2. JBPM-8602

stress testing jBPM on springboot with mysql db appear to require an excessive number of db connections and performs very poorly

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not a Bug
    • Icon: Critical Critical
    • None
    • 7.18.0.Final
    • KieServer
    • None
    • NEW
    • NEW
    • Hide

      Clone https://github.com/mauriziocarioli/Capability1ProcessApp.git and run a performance test with 100 consumers, 0 delay.
      See above for the exact mysql database version used.
      Use the REST API to start the process instance:
      The endpoint is http://localhost:8090/rest/server/containers/Capability1Process-kjar/processes/com.insurance.capability1process.process/instances
      the body of the post is simply
      {
      "policyIsTraditionalType": true
      }
      Reduce the max db pool size in the application.properties to 100 and should see the database errors.

      Show
      Clone https://github.com/mauriziocarioli/Capability1ProcessApp.git and run a performance test with 100 consumers, 0 delay. See above for the exact mysql database version used. Use the REST API to start the process instance: The endpoint is http://localhost:8090/rest/server/containers/Capability1Process-kjar/processes/com.insurance.capability1process.process/instances the body of the post is simply { "policyIsTraditionalType": true } Reduce the max db pool size in the application.properties to 100 and should see the database errors.

      I am stressing a simple bpmn process that only contains script tasks and service tasks. The only activity in the tasks is printing out some text to the console.
      I use soap ui or jmeter with 100 consumer threads, 0 test delay, 0 randomness.
      The details of the configuration are in the reproducer.

      Unless I set the max pool size of db connections to more than 300 I get database errors (see log attached). After checking the number of connections opened in the database I can verify that each process execution seem to open 3 db connections. Why?

      The overall performance is very bad with an average execution time of 5000 ms and a throughput of 20 tps after 120 seconds. The same stress test with the same database instance with the same process executed on EAP 7.2 gives 570 ms and 180 tps.

              rhn-support-tsurdilo Tihomir Surdilovic (Inactive)
              mcarioli1@redhat.com Maurizio Carioli (Inactive)
              Votes:
              2 Vote for this issue
              Watchers:
              13 Start watching this issue

                Created:
                Updated:
                Resolved: