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

Performance degradation when switching from JDK8 to JDK11

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.16.0
    • 2.18.0
    • Broker
    • None
    • Amazon Linux 2, Amazon Corretto (OpenJDK 11), AMQP over TLS via BoringSSL

    Description

      Since it was announced that probably Artemis 2.18.0 will require Java 11 we upgraded the JVM of one of our broker clusters from OpenJDK 8 to OpenJDK 11 and are seeing a noticable performance degradation which results in higher CPU usage and higher latency.

      We are monitoring request/reply round trip duration with a custom distributed qpid-jms based healthcheck applications. Here is a graphic that shows the effect when we switched the JDK:

      CPU Usage of the broker process:

       

      The broker itself is also monitored via Dynatrace, there I can see that after upgrading to JDK 11 the broker process spend 21% of CPU time locking while in JDK it only spent 3.2%.

      JDK 8:

       

      JDK 11:

       

      A method hotspot breakdown reveals this:

      Maybe I am misinterpreting the charts but the root cause seems to be somewhere in org.apache.activemq.artemis.utils.ActiveMQThreadFactory$1 and/or in org.apache.activemq.artemis.core.remoting.impl.netty.NettyAcceptor.getSslHandler I currently cannot pinpoint the exact line number.

       

      Attachments

        1. image-2021-02-12-22-01-07-044.png
          39 kB
          Sebastian T
        2. image-2021-02-12-21-47-57-301.png
          49 kB
          Sebastian T
        3. image-2021-02-12-21-47-02-387.png
          44 kB
          Sebastian T
        4. image-2021-02-12-21-46-52-006.png
          58 kB
          Sebastian T
        5. image-2021-02-12-21-44-26-271.png
          58 kB
          Sebastian T
        6. image-2021-02-12-21-40-21-125.png
          57 kB
          Sebastian T
        7. image-2021-02-12-21-39-32-185.png
          81 kB
          Sebastian T
        8. broker.xml
          4 kB
          Sebastian T

        Activity

          People

            Unassigned Unassigned
            seb Sebastian T
            Votes:
            0 Vote for this issue
            Watchers:
            6 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 - 6h 10m
                6h 10m