<br><br><div class="gmail_quote">On Mon, May 31, 2010 at 10:30 PM, David Wragg <span dir="ltr"><<a href="mailto:david@rabbitmq.com">david@rabbitmq.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Hi Sylvain,<br>
<div class="im"><br>
Sylvain Hellegouarch <<a href="mailto:sh@defuze.org">sh@defuze.org</a>> writes:<br>
> I'm curious, in the general case, what's the cost of using a transaction?<br>
> Does it consume more resources? Roughly, what takes place within<br>
> RabbitMQ?<br>
<br>
</div>There is indeed a cost associated with a transaction. One source of<br>
overhead is the fact that the AMQP tx.commit method is synchronous, and<br>
so involves a round-trip over the network to the server. Another is the<br>
fact that when the server commits a transaction, it must make sure that<br>
the relevant effects of a transaction have reached stable storage<br>
(e.g. that a persistent message that reaches a queue has been stored on<br>
disk). My colleagues might be able to list other costs.<br>
<br>
It's difficult to quantify these costs in general, but I think its fair<br>
to say that they have a significant impact compared with<br>
non-transactional uses of AMQP. The MulticastMain tool included with<br>
our Java client library has command line options that allow the impact<br>
to be measured in various scenarios.<br>
<div><div></div><div class="h5"><br>
David<br></div></div></blockquote><div><br>Cheers for that feedback. Much appreciated. I will try to perform some measurements and see both the server and client behave.<br><br><br></div></div>-- <br>- Sylvain<br><a href="http://www.defuze.org">http://www.defuze.org</a><br>
<a href="http://twitter.com/lawouach">http://twitter.com/lawouach</a><br>