Havea you correlated those peaks with specific times in the activemq log? Probably a long shot, but maybe its the garbage collector in the JVM? If so, you can adjust the schedule for it.
On Mon, 27 Jun 2011 04:28:56 -0700 (PDT), apuschmann <[email protected]> wrote: > Hello, > > I have done some performance testing between activme and rabbitmq. First of > all, I use ActiveMQ 5.4.0 on a Dual Core 1,8 and 2GB using kahadb, and a > default configuration. I tested how fast activemq and rabbitmq can write > and > read messages from a persistence queue with a message size of ca. 1KB. Both > tests were under the same situation. On Activemq i found out that after > every third meter record there is a high processing time, some times it is > very high. This behaviour occurs both sending and consuming. Without this > peaks activemq were much faster than rabbitmq in my case. > Ok my testcase, i sended 3000 messages and measured the time for sending > these 3000 messages. The messages were always the same. > > Looking at this picture. > http://img101.imageshack.us/img101/6826/sender.png > > > > Can somebody can tell me why these peaks occurs or what i can do against > it? > Thanks. > > Here my testing code: > > > public void run() throws JMSException > { > > String brokerURL = "tcp://localhost:61616?jms.useAsyncSend=true"; > ConnectionFactory factory = new ActiveMQConnectionFactory(brokerURL); > connection = factory.createConnection(); > connection.start(); > session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); > Destination destination = session.createQueue(queueName); > producer = session.createProducer(destination); > > producer.setDeliveryMode(DeliveryMode.PERSISTENT); > > int i=0, j=0; > long start = System.currentTimeMillis(); > while(true) > { > Message message = > session.createTextMessage(Producer.message); > producer.send(message); > i++; > j++; > if(i == 3000) > { > System.out.println("The last 3000 Messages needed " + > (System.currentTimeMillis() - start)); > start = System.currentTimeMillis(); > i=0; > if(j==300000) > { > break; > } > } > } > } > > -- > View this message in context: > http://activemq.2283324.n4.nabble.com/Activemq-vs-Rabbitmq-performance-Peaks-tp3627493p3627493.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com.
