繁体   English   中英

ActiveMQ生产者生成heapdump

[英]ActiveMQ producer generating heapdump

我们正在IBM AIX机器上使用Jboss FuseESB Active MQ。 我们每天向消费者发送多达10000个请求。 每个请求的大小约为10Kb。 每3天就会有堆转储。 这是IBM Heap Analyzer的图像。

就在生成堆之前,我认为消费者正在慢慢处理JMS消息。 有哪些策略可以提高JMS使用者的处理速度。

编辑:

这是堆分析器的图像:

在此处输入图片说明

编辑:

我们正在使用嵌入式经纪人。 这是我们正在使用的activemq.xml:

<beans
  xmlns="http://www.springframework.org/schema/beans"
  xmlns:amq="http://activemq.apache.org/schema/core"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org /schema/beans/spring-beans-2.0.xsd
  http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd">

<!-- Allows us to use system properties and fabric as variables in this configuration file -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="properties">
        <bean class="org.fusesource.mq.fabric.ConfigurationProperties"/>
    </property>      
</bean>

<broker xmlns="http://activemq.apache.org/schema/core"
        brokerName="${broker-name}"
        dataDirectory="${data}"
        start="false">

    <destinationPolicy>
        <policyMap>
          <policyEntries>
            <policyEntry topic=">" producerFlowControl="true">
              <pendingMessageLimitStrategy>
                <constantPendingMessageLimitStrategy limit="1000"/>
              </pendingMessageLimitStrategy>
            </policyEntry>
            <policyEntry queue=">" producerFlowControl="true" queuePrefetch="1">
                  <deadLetterStrategy>
                       <individualDeadLetterStrategy queuePrefix="DLQ."/>
                  </deadLetterStrategy>
            </policyEntry>
          </policyEntries>
        </policyMap>
    </destinationPolicy>

    <managementContext>
        <managementContext createConnector="false"/>
    </managementContext>

    <persistenceAdapter>
        <kahaDB directory="${data}/kahadb"/>
    </persistenceAdapter> 


<!--

<plugins>
        <jaasAuthenticationPlugin configuration="karaf" />
    </plugins>
-->
    <systemUsage>
        <systemUsage>
            <memoryUsage>
                <memoryUsage limit="128 mb"/>
            </memoryUsage>
            <storeUsage>
                <storeUsage limit="100 gb"/>
            </storeUsage>
            <tempUsage>
                <tempUsage limit="50 gb"/>
            </tempUsage>
        </systemUsage>
    </systemUsage>


    <transportConnectors>
        <transportConnector name="openwire" uri="tcp://0.0.0.0:0?maximumConnections=1000"/>
    </transportConnectors>
</broker>
</beans>

是否有可能没有启动任何队列和/或持久主题订阅者,并且其消息保留在JMS代理中?

您应该浏览JMS目的地,例如使用JMX,并标识消息及其使用者。 如果您检查每个使用者均已正确配置并正在运行,请调试为什么缓慢消耗消息的原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM