activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Tully <gary.tu...@gmail.com>
Subject Re: ActiveMQ - Unable to limit temp store
Date Thu, 02 Jul 2009 17:24:34 GMT
I think you may be experiencing
https://issues.apache.org/activemq/browse/AMQ-2064 - a 5.3-SNAPSHOT could
help

2009/7/2 Champax <lchampagnac@miyowa.com>

>
> Hello,
>
> after several days of testing, i am facing the following issue : I am
> unable
> to limit the physical space of temp storage used by AMQ, and temp_store is
> growing ever and ever...
>
> ===========================
> = Scenario :
> ===========================
> - One JVM, handling several producers, spamming the broker.
> - One JVM, embedding the broker, with several consumers.
> - All message are as DeliveryMode.NON_PERSISTENT
>
> ===========================
> = Configuration (resumed)
> ===========================
> - AMQ.maxFileLength=67108864
> - <memoryUsage limit="128mb"/>
> - <storeUsage limit="88mb" store="#store" />
> - <tempUsage limit="160mb"/>
> - <policyEntry queue=">" producerFlowControl="false" memoryLimit="64mb"/>
>
> This should means, based on my understanding :
> - The temp store is limited to 88mb
> - Each temp file is 64 mb, so i should have 1 (or 2) temp files maximum
>
> 1) ISSUE1 : After flooding the broker, i have massive files into temp
> directory, enforcing activemq configuration...
> I have followed several post recommandations, including
> "
> http://open-source-adventures.blogspot.com/2009/01/limiting-disk-store-usage-with-active.html
> ",
> without any success.
>
> 2) ISSUE2 : The maxFileLegth has no effect, since i have massive flood of
> 32
> MB "data-TopicSubscription-XXX" files inside "tmp_storage" folder.
>
> Someone may have a solution here (i hope...). Thanks by advance!
> Regards.
>
> ===========================
> = JMX on start
> ===========================
> - Broker.Memory = 134217728
> - Broker.StoreLimit = 92274688
> - Broker.TempLimit = 167772160
> - Queue.MemoryLimit = 67108864
>
> ===========================
> = JMX while running
> ===========================
> - Broker.MemoryPercentUsage = 320 (???)
> - Broker.StorePercentUsage = 0 (logic, i am not using persistent senders)
> - Broker.TempPercentUsage = 0 (not logic : i have plenty of temp store
> files)
> - Queue.MemoryPercentUsage = 0 (???)
> - Queue.CursorMemoryUsage=435215400
> - Queue.CursorPercentUser=324 (???)
>
> ===========================
> = ActiveMQ full configuration :
> ===========================
> <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
>  http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd">
>
>        <!-- Allows us to use system properties as variables in this
> configuration
> file -->
>        <bean
>
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
>                <property name="locations">
>
> <value>file:C:\xxx\Experimental\maven.1236678842549\src\test\resources\jms2\activemq.properties</value>
>                </property>
>        </bean>
>
>        <!-- The store, declared as bean due to
> http://issues.apache.org/activemq/browse/AMQ-2064 -->
>        <bean id="store"
> class="org.apache.activemq.store.amq.AMQPersistenceAdapter">
>                <!-- Data directory -->
>                <property name="directory" value="${activemq.base}/data"/>
>                <!-- 64 mb -->
>                <property name="maxFileLength" value="67108864"/>
>                <!-- References to files -->
>                <property name="persistentIndex" value="true"/>
>        </bean>
>
>
>        <!-- The broker -->
>        <broker xmlns="http://activemq.apache.org/schema/core"
> persistent="true"
> advisorySupport="false" useJmx="true" brokerName="LCH.TEST"
> monitorConnectionSplits="false"
> splitSystemUsageForProducersConsumers="false" start="false"
> persistenceAdapter="#store">
>
>                <!-- Destination specific policies using destination names
> or wildcards
> -->
>                <destinationPolicy>
>                        <policyMap>
>                                <policyEntries>
>                                        <!-- *** producerFlowControl=false
> -->
>                                        <!-- When this is added, all your
> queues will start persisting their
> messages to the disk. -->
>                                        <!-- Freeing your RAM to consume
> more messages w/o any slowdowns. -->
>                                        <!-- *** memoryLimit : Per queue
> memory limit -->
>                                        <policyEntry queue=">"
> producerFlowControl="false" memoryLimit="64mb"/>
>                                </policyEntries>
>                        </policyMap>
>                </destinationPolicy>
>
>                <!-- The transport connectors ActiveMQ will listen to -->
>                <transportConnectors>
>                        <transportConnector name="LCH"
> uri="nio://MIYOPC65:61616"/>
>                </transportConnectors>
>
>                <!-- Use the following to configure how ActiveMQ is exposed
> in JMX -->
>                <managementContext>
>                        <managementContext createConnector="true"/>
>                </managementContext>
>
>                <!-- The maximum about of space the broker will use before
> slowing down
> producers -->
>                <!-- sendFailIfNoSpace : If no more is available, send
> client a JMS
> exception -->
>                <systemUsage>
>                        <systemUsage sendFailIfNoSpace="true">
>                                <!-- Memory usage max -->
>                                <memoryUsage>
>                                        <!-- Sets the memory limit in bytes
> (broker global). Setting the limit
> in bytes will set the usagePortion to 0  -->
>                                        <memoryUsage limit="128mb"/>
>                                </memoryUsage>
>
>                                <!-- Storage is used for those messages that
> have been sent PERSISTENT
> -->
>                                <storeUsage>
>                                        <!-- Sets the memory limit in bytes
> (broker global). Setting the limit
> in bytes will set the usagePortion to 0  -->
>                                        <storeUsage limit="88mb"
> store="#store" />
>                                </storeUsage>
>
>                                <!-- Temporary storage is used for spooling
> out messages that have been
> sent NON_PERSISTENT -->
>                                <tempUsage>
>                                        <!-- Sets the memory limit in bytes
> (broker global). Setting the limit
> in bytes will set the usagePortion to 0  -->
>                                        <tempUsage limit="160mb"/>
>                                </tempUsage>
>                        </systemUsage>
>                </systemUsage>
>        </broker>
>
>        <!--
>        ** Lets configure some Camel endpoints
>        **
>        ** http://activemq.apache.org/camel/components.html
>        -->
>
>        <!-- configure the camel activemq component to use the current
> broker -->
>        <bean id="activemq"
> class="org.apache.activemq.camel.component.ActiveMQComponent">
>                <property name="connectionFactory">
>                        <bean
> class="org.apache.activemq.ActiveMQConnectionFactory">
>                                <property name="brokerURL"
> value="vm://localhost?create=false&amp;waitForStart=10000"/>
>                                <property name="userName"
> value="${activemq.username}"/>
>                                <property name="password"
> value="${activemq.password}"/>
>                        </bean>
>                </property>
>        </bean>
> </beans>
>
> --
> View this message in context:
> http://www.nabble.com/ActiveMQ---Unable-to-limit-temp-store-tp24309792p24309792.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>


-- 
http://blog.garytully.com

Open Source Integration
http://fusesource.com

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message