Hello buddy:
as following configuration, my activemq send 10000 messages in
30seconds, anyone who can help me to improve the speed(sending) . Thanks.
Sender:
1. use PooledConnectionFactory
2. asyncSend
Receiver: default prefecht
<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">
<bean
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<value>file:${activemq.conf}/credentials.properties</value>
</property>
</bean>
<broker xmlns="http://activemq.apache.org/schema/core"
brokerName="master"
useJmx="true"
destroyApplicationContextOnStop="true">
<destinationInterceptors>
<virtualDestinationInterceptor>
<virtualDestinations>
<virtualTopic name="test" prefix=">."
selectorAware="false"/>
</virtualDestinations>
</virtualDestinationInterceptor>
</destinationInterceptors>
<destinationPolicy>
<policyMap>
<policyEntries>
<policyEntry topic="nb.>" producerFlowControl="false">
<pendingMessageLimitStrategy>
<prefetchRatePendingMessageLimitStrategy
multiplier="2.5"/>
</pendingMessageLimitStrategy>
<amq:subscriptionRecoveryPolicy>
<timedSubscriptionRecoveryPolicy
recoverDuration="60000" />
</amq:subscriptionRecoveryPolicy>
</policyEntry>
<policyEntry topic=">" producerFlowControl="false"
memoryLimit="2000mb">
<dispatchPolicy>
<roundRobinDispatchPolicy/>
</dispatchPolicy>
<deadLetterStrategy>
<individualDeadLetterStrategy
topicPrefix="ActiveMQ.DLQ.TOPIC" />
</deadLetterStrategy>
<pendingSubscriberPolicy>
<fileCursor/>
</pendingSubscriberPolicy>
<pendingDurableSubscriberPolicy>
<fileDurableSubscriberCursor/>
</pendingDurableSubscriberPolicy>
<pendingMessageLimitStrategy>
<constantPendingMessageLimitStrategy
limit="10000"/>
</pendingMessageLimitStrategy>
</policyEntry>
<policyEntry queue=">" producerFlowControl="false"
optimizedDispatch="true" memoryLimit="2000mb">
<deadLetterStrategy>
<individualDeadLetterStrategy
queuePrefix="ActiveMQ.DLQ.QUEUE"/>
</deadLetterStrategy>
<pendingQueuePolicy>
<vmQueueCursor />
</pendingQueuePolicy>
<pendingMessageLimitStrategy>
<constantPendingMessageLimitStrategy
limit="10000"/>
</pendingMessageLimitStrategy>
</policyEntry>
</policyEntries>
</policyMap>
</destinationPolicy>
<managementContext>
<managementContext createConnector="false"/>
</managementContext>
<persistenceAdapter>
<jdbcPersistenceAdapter dataSource="#oracle-ds"/>
</persistenceAdapter>
<plugins>
<simpleAuthenticationPlugin>
<users>
<authenticationUser username="sa" password="manager"
groups="producers,consumers,admins" />
<authenticationUser username="frontend"
password="manager" groups="producers,consumers" />
<authenticationUser username="backend"
password="manager" groups="consumers" />
</users>
</simpleAuthenticationPlugin>
<authorizationPlugin>
<map>
<authorizationMap>
<authorizationEntries>
<authorizationEntry queue=">" write="producers"
read="consumers" admin="admins" />
<authorizationEntry topic=">" write="producers"
read="consumers" admin="admins" />
</authorizationEntries>
</authorizationMap>
</map>
</authorizationPlugin>
</plugins>
<systemUsage>
<systemUsage sendFailIfNoSpaceAfterTimeout="1000">
<memoryUsage>
<memoryUsage limit="4 gb" />
</memoryUsage>
<storeUsage>
<storeUsage limit="10 gb" />
</storeUsage>
<tempUsage>
<tempUsage limit="5 gb" />
</tempUsage>
</systemUsage>
</systemUsage>
<transportConnectors>
<transportConnector name="openwire"
uri="tcp://192.168.29.239:61617" />
</transportConnectors>
</broker>
<import resource="jetty.xml"/>
<bean id="oracle-ds" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName"
value="oracle.jdbc.driver.OracleDriver"/>
<property name="url"
value="jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.29.25)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.29.26)(PORT=1521))(FAILOVER=yes)(LOAD_BALANCE=yes))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=t1db)))"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="maxActive" value="500"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
</beans>
Forgive my pool english,
Thanks very much your favor!
--
View this message in context:
http://activemq.2283324.n4.nabble.com/Activemq-Performance-tp4655171.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.