Replies: 4 comments 16 replies
-
You are welcome to submit a PR that improves the pooling. This community does not guess (so profiler data is a good start) but we don't use issues for anything but specific, well understood, actionable items the community agrees to. Any publishing in a tight loop will outpace the actual ability of the client to send data and release memory, so "the more frequently I publish the higher the memory usage" is expected, with pretty much any client. |
Beta Was this translation helpful? Give feedback.
-
By the way, once you have a clear understanding of what can be done, you are welcome to file issues for those specific changes. |
Beta Was this translation helpful? Give feedback.
-
Thanks for bringing up this topic and yes, your analysis is absolutely right. Now to the but =)
If I'm not mistaken, the arrays in the shared arraypool are now collected if there is high memory pressure as well as they've changed the max size that is pooled, so lots of improvements done in newer .NET to lessen the impact here as well.
So without solving the above mentioned issues, I'm not sure there's much to go on. Or maybe I missed something, so please correct me if this is the case. |
Beta Was this translation helpful? Give feedback.
-
Hello everyone who has commented here - If you have time to test version 7 alphas, it would be really appreciated https://www.nuget.org/packages/RabbitMQ.Client/7.0.0-alpha.6 I'm hoping to get the final release done this month, but only if there is enough community testing (with reports back!) |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
We observing high memory consumption for the code utilizing BasicPublish method, when that method has a higher rate of invocation.
The problem and suggestion are described here - https://groups.google.com/g/rabbitmq-users/c/2YuLVYzE7Vg?pli=1
Example:
The higher the delay (line with Thread.Sleep) when calling the BasicPublish method, the less memory is allocated.
for example 5 milliseconds:

for example 500 milliseconds:

/cc @sakno.
Beta Was this translation helpful? Give feedback.
All reactions