activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Strachan" <james.strac...@gmail.com>
Subject Re: Session.DUPS_OK_ACKNOWLEDGE
Date Tue, 16 Jan 2007 09:26:56 GMT
On 1/15/07, Paul French <paul.french@frenchiesystems.com> wrote:
>
> ActivemQ 4.1.0
>
>
> Where do I set Session.DUPS_OK_ACKNOWLEDGE this?

http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Connection.html#createSession(boolean,%20int)


> I'm trying to increase
> performance of the messaging layer and I'm going through the performance
> guide at
> http://devzone.logicblaze.com/site/apache-activemq-performance-tuning-guide.html
> http://devzone.logicblaze.com/site/apache-activemq-performance-tuning-guide.html
>
> I can send out a 1000 messages a second no problem but the rest of the
> messaging layer is very slow so I need some help here.
>
> My scenario is client creates many messages and sends async to the broker
> (one connection, one session). The client also creates a temporary queue to
> receive replies on. The client also starts a number of consumers to listen
> on the temp queue.
>
> A consumer consumes the messages and then replies by placing a message on
> the temporary queue.
>
> My client receives the reply via the temp queue.
>
>
> I have no need for Quality Of Service or persistence. So far for the cleint
> I have set the following properties to improve performance:
>
>   <bean id="connectionFactory"
> class="org.springframework.jms.connection.SingleConnectionFactory">
>     <property name="targetConnectionFactory">
>       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL">
>
> <value>tcp://192.168.160.86:61616?jms.prefetchPolicy.queuePrefetch=100</value>
>         </property>
>         <property name="useAsyncSend"><value>TRUE</value></property>
>         <property name="optimizeAcknowledge"><value>TRUE</value></property>
>       </bean>
>     </property>
>   </bean>
>
> Is optimizeAcknowledge related to Session.DUPS_OK_ACKNOWLEDGE?

I wouldn't worry about optimizeAcknowledge

You should make sure your producer is using non-persistent mode.


> For the server side I have used the same properties for now:
>
>   <bean id="connectionFactory"
> class="org.springframework.jms.connection.SingleConnectionFactory">
>     <property name="targetConnectionFactory">
>       <bean class="org.apache.activemq.ActiveMQConnectionFactory">
>         <property name="brokerURL">
>
> <value>tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=100</value>
>         </property>
>         <property name="useAsyncSend"><value>TRUE</value></property>
>         <property name="optimizeAcknowledge"><value>TRUE</value></property>
>       </bean>
>     </property>
>   </bean>
>
>
> The server and broker run on the same machine for this test but will not in
> production hence I have not bothered trying to embed the broker in the
> server.
>
> Baiscally for this test my client is punching out about 1000 messages and I
> want to see how long it takes to get replies. At the moment I am pumping out
> about 1000 messages in about 2 seconds but it takes 20 seconds to get the
> 1000 replies. I am obviously missing something here?? Any pointers would be
> great.

Are you using a pool of consumers to process the requests? Otherwise
you are single-threading things which is kinda slow. Also I'd leave
high prefetch values (say 5000 at least) on consumers on both sides.

-- 

James
-------
http://radio.weblogs.com/0112098/

Mime
View raw message