<div dir="ltr">Hi,<div><br></div><div style>We are experiencing a growth of processes in the rabbitmq server for long running connections. I have no idea if we are doing something wrong or if this is a bug in rabbitmq itself.</div>
<div style><br></div><div style>In an idle system we have about 30k connections to rabbitmq, using around 31k channels.</div><div style><br></div><div style>Sockets and file descriptors match more or less one-to-one to the connections and so does the number of Erlang processes initally. My problem here is that the number of Erlang processes is steadily growing.</div>
<div style><br></div><div style>At the moment we have ~500k Erlang processes in our rabbitmq server with 47k connections using 54k channels. As soon as the load on our system lightens up the number of connections and channels will go down as expected, but the number of processes will stay high.</div>
<div style><br></div><div style>Restarting the client will drop the process count, so this is something related to keeping long living connections and/or channels around.</div><div style><br></div><div style>Oh, yeah, upgrading from 2.8.2 to 3.1.1 made no difference.</div>
<div style><br></div><div style>Connection counts are steady as are channel counts (i.e. they grow and shrink as expected depending on load). We use both a polling and a subscribing pattern depending on the particular consumer. I've seen a system with all empty queues have this issue so it's not based on that either.</div>
<div style><br></div><div style>I'm suspecting that there's a missing exit that leaves a dangling processes for some sort of operation. It's something that's properly linked with the connection (or channel) though since they go away on connection restart.</div>
<div style><br></div><div style>I'll research some more and see what I can dig up.</div><div style><br></div><div style>Help would be appreciated.</div><div style><br></div><div style>Cheers,</div><div style><br></div>
<div style>Daniel</div></div>