You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Alex_ynr <su...@gmail.com> on 2009/03/24 14:06:43 UTC

ActiveMQ Performance Issues

Hello,

Our application uses a network bridge between 2 instances of a 5.0.0.23
build of ActiveMQ.

One server is on the internet and the other is on a Local network behind a
firewall. The one behind the firewall initiates the (duplex) connection to
the outside server.

4 different queues are set up . On 3 of those, we have the part of our app
on the intranet server publishing and these are consumed by a different part
of the app on the outside server. The other queue works the other way
around. This queue is also the "critical" one in terms of time for messages
to move from one server to the other.

Our problem is the following. When a message is published to the outside
server and the bridge dies (network disconnection, the local network is
connected to the internet over an adsl line) before the message has reached
the other side, although the bridge reconnects instantly, the message takes
WAY too long to be consumed on the local server.

The traffic is very small (10-20 x 2-3kb messages an hour).

For example:

If a message gets published at 12:00 and the disconnection occurs and by
12:01 it is reconnected, that message might not be consumed until 12:15.
Even though other messages published AFTER the reconnection (say 12:02) will
be consumed almost instantly.

Any ideas?

Thanks,

Alexander Megalokonomos




-- 
View this message in context: http://www.nabble.com/ActiveMQ-Performance-Issues-tp22680003p22680003.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: ActiveMQ Performance Issues

Posted by Bruce Snyder <br...@gmail.com>.
On Tue, Mar 24, 2009 at 7:06 AM, Alex_ynr <su...@gmail.com> wrote:
>
> Hello,
>
> Our application uses a network bridge between 2 instances of a 5.0.0.23
> build of ActiveMQ.
>
> One server is on the internet and the other is on a Local network behind a
> firewall. The one behind the firewall initiates the (duplex) connection to
> the outside server.
>
> 4 different queues are set up . On 3 of those, we have the part of our app
> on the intranet server publishing and these are consumed by a different part
> of the app on the outside server. The other queue works the other way
> around. This queue is also the "critical" one in terms of time for messages
> to move from one server to the other.
>
> Our problem is the following. When a message is published to the outside
> server and the bridge dies (network disconnection, the local network is
> connected to the internet over an adsl line) before the message has reached
> the other side, although the bridge reconnects instantly, the message takes
> WAY too long to be consumed on the local server.
>
> The traffic is very small (10-20 x 2-3kb messages an hour).
>
> For example:
>
> If a message gets published at 12:00 and the disconnection occurs and by
> 12:01 it is reconnected, that message might not be consumed until 12:15.
> Even though other messages published AFTER the reconnection (say 12:02) will
> be consumed almost instantly.
>
> Any ideas?

This is a complete guess at this point, but it sounds like the sockets
are taking a while to timeout and reset. To look a bit deeper at the
issue, while the broker is hanging, take a thread dump so that you can
see exactly where the broker is hanging.

The thread dumps should help to confirm it, but if this guess is
correct, there were a couple of bug fixes for this issue that were
included in ActiveMQ 5.1 and 5.2:

https://issues.apache.org/activemq/browse/AMQ-1993
https://issues.apache.org/activemq/browse/AMQ-2006

Bruce
-- 
perl -e 'print unpack("u30","D0G)U8V4\@4VYY9&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*"
);'

Apache ActiveMQ - http://activemq.apache.org/
Apache Camel - http://camel.apache.org/
Apache ServiceMix - http://servicemix.apache.org/

Blog: http://bruceblog.org/