Uploaded image for project: 'ActiveMQ Artemis'
  1. ActiveMQ Artemis
  2. ARTEMIS-2955

commons-dbcp2 performance issue with Derby Embedded DBMS

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.16.0
    • 2.16.0
    • Broker, Tests
    • None

    Description

      The test suite has shown an increase in duration of 30 minutes going from to 2:30 to 3 hours: it seems related to integration paging tests running on Embedded Derby with the changes of ARTEMIS-2823.

      After some profiling sessions on org/apache/activemq/artemis/tests/integration/paging/PagingTest.testQueueRemoveAll it seems that using commons-dbcp2 with Embedded Derby isn't working as expected:

      while, if we switch to EmbeddedDataSource we have

      By not using commons-dbcp2 we get roughtly a ~10X improvement in performance: it seems that commons-dbcp2 is forcing to setup from the ground the prepared statement each time, while EmbeddedDataSource nope. Specifically it seems related to Derby GenericActivationHolder.
      I suggest to disable commons-dbcp2 for Derby and investigate if it could happen in a real broker too.

       

      Attachments

        1. image-2020-10-20-09-08-45-390.png
          230 kB
          Francesco Nigro
        2. image-2020-10-20-09-10-10-644.png
          225 kB
          Francesco Nigro
        3. pooling_off.svg
          2.36 MB
          Francesco Nigro
        4. pooling_on.svg
          1.88 MB
          Francesco Nigro
        5. screenshot-1.png
          215 kB
          Francesco Nigro
        6. screenshot-2.png
          185 kB
          Francesco Nigro

        Issue Links

          Activity

            People

              nigrofranz Francesco Nigro
              nigrofranz Francesco Nigro
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 3h 40m
                  3h 40m