为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

我是使用 delivery_mode: 1 投递消息,但是很奇怪的是,消息的 push 速度很慢,慢到和『delivery_mode: 2』一样慢,我就打开控制面板看了看:

为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

可以看到 『In memory』 和 『Persistent』都是 237!这不应该呀?

但是随便 get 几个 message 看了看,确实是:『delivery_mode: 1』

为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

我不理解!这和 rabbitmq server 哪个配置有关系?

这个队列,不是我部署的,是我们的 k8s 管理员直接部署在 k8s 上的(相关的配置文件我也不懂)。
我再 docker 上跑了一个 rabbitmq server,不会出现这种明明是 『delivery_mode: 1』结果依旧写到了磁盘的问题!!!但是这个 k8s 中的 rabbitmq (rabbitmq:3.8-management)就有这种奇怪的问题!

我有两个怀疑对象:

  • 一个是 rabbitmq server 的 ram 不够了。(但是这个可能性很小)
  • 为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?
  • 另一个可能是开了起 rabbitmq server 的某种特性,导致了这个问题,但是是什么特性呢?

队列的 type 都是 classic
为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?


我发现不管是 delivery_mode 为 1 还是 delivery_mode 为 2,『In memory』 和 『Persistent』的数值都是相等的!


为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?


回答:

有个stream 队列好像会启用持久吧. 看是这个原因么.


回答:

是持久化到内存了吧,并没有说明是到磁盘了。我测试结果正常。这是开始的图片
为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

这是之后的图片
为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

参数图片
为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中?

以上是 为什么使用 rabbitmq 的时候,delivery_mode 为 1,消息依旧被写到磁盘中? 的全部内容, 来源链接: utcz.com/p/938610.html

回到顶部