activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bizcenter <bizcenter...@gmail.com>
Subject Activemq Performance
Date Thu, 16 Aug 2012 02:58:06 GMT
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.

Mime
View raw message