Comments (2)
@michaelklishin thanks for you reply!
I've added monitoring with Node Exporter and Prometheus, here's some metrics:
To elaborate on the screenshot, we rebooted the sneakers docker container at around 19:00, and it had some minor tasks to process. Then, at just past 00:00, there is a major workload that lasts for roughly 45 minutes. After it finished, the memory used is not released back.
Could you please tell how Worker class instance handles tasks, does it get destroyed after messages were acked/nacked? If not, looks like we should avoid storing any data in those workers.
from sneakers.
You have 24 workers, so why do you expect fewer than that number of processes?
I don't really see any proof of a memory leak. Peak memory use is not the same thing as a leak.
You have 24 workers and a prefetch value of 24, which means you can have up to 24 * 24 = 576 messages delivered and unacknowledged at any given moment.
Depending on their size it can have a massive effect on the amount of memory used.
Perhaps try using fewer workers, and if your messages can be large (say, in megabytes), a lower prefetch of 8-16.
from sneakers.
Related Issues (20)
- What is the plan for 2.13.0? HOT 23
- Getting this error while trying to drive watir within my workers HOT 2
- Sneaker close connection with Rabbit after hours inactivity, HOT 5
- If there is a `@` in RabbitMQ password, you may have an `Unexpected error bad URI`. HOT 2
- Is still actively maintained? HOT 7
- Messages not sent from rabbitmq to sneakers
- Is there some potential issues if setting single worker but multi-thread in prd env? HOT 2
- Infinity restart when errors happens inside of hooks
- Stops "ack!"ing after 10 messages HOT 2
- Channels not recovering after server restart HOT 4
- Ruby 3.2.0 File#exists? HOT 1
- Consumer thread interrupt HOT 4
- Rails 7.0.4.2 - NoMethodError: undefined method `autoloader' for #<Rails::Application::Configuration... HOT 2
- too many accepting and closing AMQP connections in the rabbitmq server logs HOT 1
- Dead letter queue consumption issue HOT 2
- How to Inject code into worker initialization?
- Documentation not very clear on how to handle DB connections when using the gem in a Rails application HOT 2
- Channel shared between threads for MaxRetry handler
- Using up disk space
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sneakers.