[rabbitmq-discuss] Keeping idle connections alive in EC2
Nishanth Babu Achuthan
nishanth at urbanmapping.com
Fri Mar 8 18:13:39 GMT 2013
Hi Michael & Emile,
Thank you very much for the inputs.
I set the heartbeat interval to 25 seconds as below in the client.
parameters =
pika.ConnectionParameters(host=RABBITMQ_HOSTNAME,heartbeat_interval=25,credentials=pika.PlainCredentials(RABBITMQ_USERNAME,RABBITMQ_PASSWORD))
connection = pika.SelectConnection(parameters,on_connected)
My rabbitmq conifg looks like below
[
{rabbit,
[
{heartbeat,25},
{tcp_listen_options, [binary, {packet,
raw},
{reuseaddr, true},
{backlog, 128},
{nodelay, true},
{keepalive, true}]}
]
}
].
I ran the rabbitmqctl list_connections timeout as below
root at ip-10-78-237-240:/mnt# rabbitmqctl list_connections timeout
Listing connections ...
25
...done.
After 25 seconds, the connection dropped off. It says heartbeat_timeout in
the logs
=INFO REPORT==== 8-Mar-2013::17:59:03 ===
accepting AMQP connection <0.542.0> (10.79.18.130:60527 ->
10.78.237.240:5672)
=ERROR REPORT==== 8-Mar-2013::18:00:18 ===
closing AMQP connection <0.542.0> (10.79.18.130:60527 -> 10.78.237.240:5672
):
{heartbeat_timeout,running}
I am not sure why the connection is dropped here. Am I doing anything wrong?
Thanks
Nishanth
On Fri, Mar 8, 2013 at 7:50 AM, Laing, Michael P. <Michael.Laing at nytimes.com
> wrote:
> We keep connections alive for long periods in EC2.
>
> We set the heartbeat to 25 secs to achieve this, as elastic load
> balancers, in particular, have short timeouts.
>
> I would recommend upgrading to the latest rabbitmq and setting the
> heartbeat in the configuration.
>
> Look to see that it shows up in the management console. It's possible for
> client interface code to not agree to heartbeat w the server.
>
> Michael
>
> On 3/8/13 4:56 AM, "Emile Joubert" <emile at rabbitmq.com> wrote:
>
> >
> >Hi,
> >
> >On 07/03/13 22:59, Nishanth wrote:
> >
> >> While they process the message, rabbitmq drops their connection silently
> >> as it considers them to have been idle for a long time.
> >
> >The broker will not drop connections silently. The culprit is more
> >likely a firewall and enabling heartbeats is the correct way to solve
> >the problem.
> >
> >> I tried to set up heartbeat interval in worker connections but it didn't
> >> resolve the issue. It keeps timing out. I am not able to understand how
> >> this heartbeat work or how to debug to find out why its timing out.
> >
> >You can check that the heartbeat is indeed recognised in the broker by
> >issuing "rabbitmqctl list_connections timeout".
> >
> >If the heartbeat is set too long then connections may of course still be
> >dropped, e.g. if an intervening firewall has a 10 minute timeout and the
> >AMQP heartbeats are exchanged every 15 minutes then connections will
> >still be dropped.
> >
> >
> >
> >-Emile
> >
> >
> >
> >
> >
> >
> >
> >
> >_______________________________________________
> >rabbitmq-discuss mailing list
> >rabbitmq-discuss at lists.rabbitmq.com
> >https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130308/f360033f/attachment.htm>
More information about the rabbitmq-discuss
mailing list