Is memory watermark too low? #1305
-
Hi everyone 👋 Today a cluster was denying the publishing of messages because of memory limits. Checking default configurations, is memory watermark too low? Suppose we have configured resources limits with 100 units of memory. RabbitMQ Operator will configure So, RabbitMQ will be configured with 80 units of memory. https://www.rabbitmq.com/kubernetes/operator/using-operator.html#resource-reqs After that, RabbitMQ will configure From the beggining, we lost 68 units of memory 😢 https://www.rabbitmq.com/memory.html#threshold Should I increase watermark, in example, to 80%? Is this secure? In this case, we have some in-memory queues configured. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
The 0.4 default is indeed very conservative and I'm pretty sure we'll revisit it at some point (on the rabbitmq-server inside, I don't mean overriding the default in the Operator). Therefore, changing this limit is definitely an option. Given how many ways there are to use RabbitMQ, with different versions, queue types, queue lengths and other factors, picking a good default is very hard and can certainly be adjusted on a per-environment basis where these details are known. What do you mean by "in-memory queues" by the way? If you mean non-lazy, be advised that in 3.12, we'll make all queues lazy basically (which should reduce memory usage, especially if you switch to classic queues v2). |
Beta Was this translation helpful? Give feedback.
The 0.4 default is indeed very conservative and I'm pretty sure we'll revisit it at some point (on the rabbitmq-server inside, I don't mean overriding the default in the Operator). Therefore, changing this limit is definitely an option. Given how many ways there are to use RabbitMQ, with different versions, queue types, queue lengths and other factors, picking a good default is very hard and can certainly be adjusted on a per-environment basis where these details are known.
What do you mean by "in-memory queues" by the way? If you mean non-lazy, be advised that in 3.12, we'll make all queues lazy basically (which should reduce memory usage, especially if you switch to classic queues v2).