Return-Path: Delivered-To: apmail-geronimo-activemq-users-archive@www.apache.org Received: (qmail 20294 invoked from network); 16 Jan 2007 10:33:02 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Jan 2007 10:33:02 -0000 Received: (qmail 44990 invoked by uid 500); 16 Jan 2007 10:33:01 -0000 Delivered-To: apmail-geronimo-activemq-users-archive@geronimo.apache.org Received: (qmail 44967 invoked by uid 500); 16 Jan 2007 10:33:01 -0000 Mailing-List: contact activemq-users-help@geronimo.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: activemq-users@geronimo.apache.org Delivered-To: mailing list activemq-users@geronimo.apache.org Received: (qmail 44925 invoked by uid 99); 16 Jan 2007 10:33:01 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jan 2007 02:33:01 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of lists@nabble.com designates 72.21.53.35 as permitted sender) Received: from [72.21.53.35] (HELO talk.nabble.com) (72.21.53.35) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Jan 2007 02:32:49 -0800 Received: from [72.21.53.38] (helo=jubjub.nabble.com) by talk.nabble.com with esmtp (Exim 4.50) id 1H6lcA-0005oN-Ri for activemq-users@geronimo.apache.org; Tue, 16 Jan 2007 02:32:26 -0800 Message-ID: <8387795.post@talk.nabble.com> Date: Tue, 16 Jan 2007 02:32:26 -0800 (PST) From: Paul French To: activemq-users@geronimo.apache.org Subject: Re: Session.DUPS_OK_ACKNOWLEDGE In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Nabble-From: paul.french@frenchiesystems.com References: <8376423.post@talk.nabble.com> X-Virus-Checked: Checked by ClamAV on apache.org I'll implement your current comments and see what happens. I'm still not sure where to set Session.DUPS_OK_ACKNOWLEDGE since I am using the Spring JmsTemplate and the template creates the sessions for you on the fly. I will have a dig about in the javadoc. Any other ideas how to make the whole process faster? On the client side I am using a pool of consumers (via the Spring SimpleMessageListenerContainer) My connection factory on the client side is tcp://192.168.160.86:61616?jms.prefetchPolicy.queuePrefetch=100 TRUE TRUE What I am doing is........ client produces message -> Broker (main queue) -> server consumes message from main queue server sends reply (produces message) -> broker(temp queue) -> client consumes message from temp queue Just FYI on the server side a number of threads are started where each thread reads from the main queue and then simply puts a response on the temp queue. I don't use a SimpleMessageListenerContainer on the server side just a number of pre-configured threads (8 threads) that use the same spring single connection factory and JmsTemplates......... tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=100 TRUE TRUE 8 MAIN_QUEUE James.Strachan wrote: > > On 1/15/07, Paul French 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: >> >> > class="org.springframework.jms.connection.SingleConnectionFactory"> >> >> >> >> >> tcp://192.168.160.86:61616?jms.prefetchPolicy.queuePrefetch=100 >> >> TRUE >> > name="optimizeAcknowledge">TRUE >> >> >> >> >> 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: >> >> > class="org.springframework.jms.connection.SingleConnectionFactory"> >> >> >> >> >> tcp://localhost:61616?jms.prefetchPolicy.queuePrefetch=100 >> >> TRUE >> > name="optimizeAcknowledge">TRUE >> >> >> >> >> >> 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/ > > -- View this message in context: http://www.nabble.com/Session.DUPS_OK_ACKNOWLEDGE-tf3016262.html#a8387795 Sent from the ActiveMQ - User mailing list archive at Nabble.com.