activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tim.b...@sensis.com>
Subject Re: Performance compared to official performance statement
Date Tue, 07 Aug 2007 14:10:48 GMT
One question would be what version of ActiveMQ-CPP are you using?  The
newest release has several performance tweaks added that should help.
Depending on the version you may also be seeing the naggle algorith
causing some delay, the newest version sets TCP_NODELAY on by default. 

The other thing to note is that the performance numbers on the website
are speaking of Java clients only not the C++ client, and they are using
the openwire protocol not stomp, so there are several factors int there
that are going to affect your performance.  

Regards
Tim

On Tue, 2007-08-07 at 06:49 -0700, j0llyr0g3r wrote:
> Hi folks,
> 
> i am a little bit surprised about the performance of my broker-network.
> 
> The AMQ-Website says:
> 
> When running the server on one box and a single producer and consumer thread
> in separate VMs on the other box, using a single topic we got around
> 21-22,000 messages/second using 1-2K messages.
> 
> I have almost exactly the same setup:
> 
> - one single broker on one machine
> - consumer and producer on another
> 
> I don't use anything time-consuming, meaning message delivery is set to be:
> 
> - non-persistent
> - no transactions
> - 1k-messages max
> - asynchrous
> - no failover
> - stomp as protocol
> 
> Even so my sample-network only achieves a message throughput of approx. 1000
> messages per second.
> 
> What could be the reason for this?
> 
> Here is my broker-config.xml:
> 
> <beans>
> 
>   <!-- Allows us to use system properties as variables in this configuration
> file -->
>   <bean
> class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/>
> 
>   <broker brokerName="singleBroker" useJmx="true"
> xmlns="http://activemq.org/config/1.0">
> 
>     <!-- Use the following to configure how ActiveMQ is exposed in JMX -->
>     <managementContext>
>        <managementContext connectorPort="4444"
> jmxDomainName="org.apache.activemq"/>
>     </managementContext>
> 
> 
>     <!-- In ActiveMQ 4, you can setup destination policies -->
>     <destinationPolicy>
>       <policyMap><policyEntries>
> 
>           <policyEntry topic="ice">
>             <dispatchPolicy>
>               <strictOrderDispatchPolicy />
>             </dispatchPolicy>
>             <subscriptionRecoveryPolicy>
>               <lastImageSubscriptionRecoveryPolicy />
>             </subscriptionRecoveryPolicy>
>           </policyEntry>
> 
>       </policyEntries></policyMap>
>     </destinationPolicy>
> 
>     <transportConnectors>
>        <transportConnector  name="openwire" uri="tcp://localhost:61616"
> discoveryUri="multicast://default"/>
>        <transportConnector  name="stomp" uri="stomp://localhost:61613"
> discoveryUri="multicast://default" />
>     </transportConnectors>
> 
>   </broker>
> 
> 
> </beans>


> 
> My producer and consumer are based on the activemq-cpp example.
> 
> tcp://172.18.117.126:61613?wireFormat=stomp&transport.useAsyncSend=true
> 
> would be an example URI.
> 
> Any ideas?
> 

Mime
View raw message