activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Mielke <tors...@fusesource.com>
Subject Re: Why the transaction down the performance so much???
Date Thu, 01 Dec 2011 09:02:57 GMT
Hi, 

I have recently run some simple performance tests when consuming msgs within a local JMS transaction
(committing after every msgs) and without transaction. 
There surely was a difference in performance but it was rather small. Unfortunately I don't
have any numbers at hand right now but it was fairly in line with this comment from http://activemq.apache.org/should-i-use-transactions.html
 
"Incidentally, its a common misconception that transactions are slow; there's no real difference
between a JMS transaction and a Message.acknowledge() from an architectural perspective in
ActiveMQ;"

Btw, the maven-activemq-perf-plugin can also be used to test the speed of transacted consumers/producers
http://activemq.apache.org/activemq-performance-module-users-manual.html



Torsten Mielke
torsten@fusesource.com
tmielke@blogspot.com


On Dec 1, 2011, at 1:40 AM, lzr wrote:

> According to my comprehension of the JMS Spec, without transaction and AUTO_ACKNOWLEDGE
in session the disk sync should occur once a meesage is get by the consumer; it's just like
the case each message has a transaction committing?
> In this case the performance of the two cases should be similar, right?
> 
> 
> At 2011-12-01 01:12:48,"Gary Tully" <gary.tully@gmail.com> wrote:
>> For producers, only use transactions is you are sending more than one
>> message, so for batching. Jms already guarantees a disk sync when a
>> send returns.
>> 
>> For clients do what you wish.
>> 
>> Do try and cache connections/sessions/prodcuers
>> and if you have a single consumer cache that.
>> 
>> Remeber, transactions mean disk syncs, so you will always be limited
>> by the speed of a fsync to your disk.
>> 
>> 2011/11/30 lzr <jswqne@163.com>:
>>> Dear all,
>>> 
>>> By my test, the performance down greatly than the test case without the
>>> transaction.
>>> For same program:
>>> Without transaction in Session, 1000 tps;
>>> With transaction in Session, about 10~20 tps which is absolutel y my
>>> expectation!!!!
>>> I attached my source files and configuration files. It's much appreciated if
>>> any suggestion.
>>> 
>>> Thanks a lot!
>>> 
>>> 
>> 
>> 
>> 
>> -- 
>> http://fusesource.com
>> http://blog.garytully.com




Mime
View raw message