Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Commit

Permalink
Increase rabbitmq tcp backlog
Browse files Browse the repository at this point in the history
From https://bugzilla.redhat.com/show_bug.cgi?id=1778428

We need to tune the default rabbitmq tcp listen backlog.  Currently it defaults
to 128, but here's what happens:
Say we have 1500 total rabbitmq client connections spread across a 3 node
cluster, evenly distributed so each node has 500 clients.

Then, we stop rabbitmq on one of the nodes.

Now those 500 client connections all immediately fail over to the other two
node.  Assume roughly even split, and each gets 250 connections simultaneously.
Since the tcp listen backlog is only 128, a large number of the failover
connections cannot connect and get ECONNREFUSED because the kernel just drops
them.

Eventually things retry and the backlog clears, but it just makes things noisy
in the logs and makes failover take a little bit longer.

Upstream docs discuss here:
https://www.rabbitmq.com/networking.html#tuning-for-large-number-of-connections-connection-backlog

Suggested-By: John Eckersberg <[email protected]>
Closes-Bug: #1854704

Change-Id: If6da4aff016db9a72e1cb9dfc9731f06e062f64d
(cherry picked from commit 9f4832f)
  • Loading branch information
mbaldessari committed Dec 17, 2019
1 parent 2968e1f commit 24e7234
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions deployment/rabbitmq/rabbitmq-container-puppet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ outputs:
rabbitmq::wipe_db_on_cookie_change: true
rabbitmq::port: 5672
rabbitmq::loopback_users: []
rabbitmq::tcp_backlog: 4096
rabbitmq::package_provider: yum
rabbitmq::package_source: undef
rabbitmq::repos_ensure: false
Expand Down

0 comments on commit 24e7234

Please sign in to comment.