You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "ASF GitHub Bot (Jira)" <ji...@apache.org> on 2021/04/14 14:30:00 UTC

[jira] [Work logged] (ARTEMIS-3117) Performance degradation when switching from JDK8 to JDK11

     [ https://issues.apache.org/jira/browse/ARTEMIS-3117?focusedWorklogId=582543&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-582543 ]

ASF GitHub Bot logged work on ARTEMIS-3117:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 14/Apr/21 14:29
            Start Date: 14/Apr/21 14:29
    Worklog Time Spent: 10m 
      Work Description: gtully opened a new pull request #3544:
URL: https://github.com/apache/activemq-artemis/pull/3544


   …y ssl acceptor, the creation of an sslcontext per connetion, since ARTEMIS-400


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 582543)
    Time Spent: 6h  (was: 5h 50m)

> Performance degradation when switching from JDK8 to JDK11
> ---------------------------------------------------------
>
>                 Key: ARTEMIS-3117
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-3117
>             Project: ActiveMQ Artemis
>          Issue Type: Improvement
>          Components: Broker
>    Affects Versions: 2.16.0
>         Environment: Amazon Linux 2, Amazon Corretto (OpenJDK 11), AMQP over TLS via BoringSSL
>            Reporter: Sebastian T
>            Priority: Critical
>             Fix For: 2.18.0
>
>         Attachments: broker.xml, image-2021-02-12-21-39-32-185.png, image-2021-02-12-21-40-21-125.png, image-2021-02-12-21-44-26-271.png, image-2021-02-12-21-46-52-006.png, image-2021-02-12-21-47-02-387.png, image-2021-02-12-21-47-57-301.png, image-2021-02-12-22-01-07-044.png
>
>          Time Spent: 6h
>  Remaining Estimate: 0h
>
> 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:
> !image-2021-02-12-21-39-32-185.png!
> CPU Usage of the broker process:
> !image-2021-02-12-22-01-07-044.png|width=874,height=262!
>  
> 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:*
> !image-2021-02-12-21-40-21-125.png|width=1247,height=438!
>  
> *JDK 11:*
> *!image-2021-02-12-21-44-26-271.png|width=1197,height=420!*
>  
> *A method hotspot breakdown reveals this:*
> !image-2021-02-12-21-47-02-387.png|width=1271,height=605!
> !image-2021-02-12-21-47-57-301.png|width=1059,height=627!
> 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.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)