activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "R.I.Pienaar (JIRA)" <>
Subject [jira] [Created] (AMQ-3819) high cpu with stomp+nio+ssl and many subscriptions
Date Wed, 25 Apr 2012 13:54:19 GMT
R.I.Pienaar created AMQ-3819:

             Summary: high cpu with stomp+nio+ssl and many subscriptions
                 Key: AMQ-3819
             Project: ActiveMQ
          Issue Type: Bug
          Components: stomp
    Affects Versions: 5.6.0
         Environment: CentOS 6, RC of 5.6.0

java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
            Reporter: R.I.Pienaar

Switching an existing workload from a transport:

<transportConnector name="verified_stompssl"  uri="stomp+ssl://"/>


<transportConnector name="verified_stompssl"  uri="stomp+nio+ssl://"/>

showed the CPU profile to go from 1-5% to 300% constantly on a 8 core server

I was able to recreate this using a ruby client @

The important combinations are:

 * I am connecting to a stomp+nio+ssl port
 * I am creating the subscriptions to the 10 queus and topics

If I change either of these variables - like just commenting out the loop that does those
subscriptions - then the CPU load is acceptable.

I analysed the running VM with VisualVM and found that transport.nio.NIOSSLTransport.serviceRead()
is the busy thread.  

My activemq.xml is:

    <broker xmlns="" brokerName="amq1" useJmx="true"
persistent="true" schedulePeriodForDestinationPurge="60000">
              <policyEntry topic=">" producerFlowControl="false"/>
              <policyEntry queue="*.reply.>" gcInactiveDestinations="true" inactiveTimoutBeforeGC="120000"

          <managementContext connectorPort="1099" jmxDomainName="org.apache.activemq"/>

              <authenticationUser username="test" password="test" groups="admins,everyone"/>
                  <authorizationEntry queue=">" write="admins" read="admins" admin="admins"
                  <authorizationEntry topic=">" write="admins" read="admins" admin="admins"

                keyStore="keystore.jks" keyStorePassword="ohshahCu"
                trustStore="truststore.jks" trustStorePassword="ohshahCu"

              <memoryUsage limit="200 mb" />
              <storeUsage limit="1 gb" />
              <tempUsage limit="1 gb" />

          <transportConnector name="openwire"  uri="tcp://"/>
          <transportConnector name="stomp+nio" uri="stomp+nio://"/>
          <transportConnector name="stompssl"  uri="stomp+ssl://"/>
          <transportConnector name="verified_stompssl"  uri="stomp+nio+ssl://"/>

    <import resource="jetty.xml"/>

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:!default.jspa
For more information on JIRA, see:


View raw message