Uploaded image for project: 'JBoss ESB'
  1. JBoss ESB
  2. JBESB-3952

Performance regression with Bpm5Processor

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 4.11 CP3
    • Fix Version/s: 4.11 CP3
    • Component/s: Process flow
    • Labels:
      None

      Description

      From Martin Weiler :
      I did a quick test comparing the original code they used (based on the
      SOA-5.3.0 jBPM5 integration layer) with the new one (based on the
      SOA-5.3.1 jBPM5 integration layer).
      The main difference between the two codebases is the session utilization
      pattern. 5.3.0 uses a session-per-process-instance pattern, 5.3.1 uses a
      session-per-process-definition pattern.

      I did a test with a process that takes 4 sec to execute, using a JMS
      listener with 20 threads of executions.
      With the 5.3.0. code, it takes 90 sec to execute 380 process instances.
      With the 5.3.1 code, it takes 27 min to execute 380 process instances.

      The reason for this huge performance difference is simple: the 5.3.1
      uses only one session, and the this session is synchronized (thus
      single-threaded). So the benefit of using multiple threads of execution
      in the ESB is lost.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                tcunning Thomas Cunningham
                Reporter:
                tcunning Thomas Cunningham
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: