【发布时间】:2017-01-10 18:15:33
【问题描述】:
我们正在使用 rabbitmq (3.6.6) 将分析(数百万)发送到不同的分析器。这些非常快,我们计划使用 rabbit-message-plugin 来安排对分析元素的监控。
我们正在考虑 rabbitmq-delayed-exchange-plugin,已经做了一些测试,我们需要澄清一下。
目前:
- 我们正在安排数百万条消息
- 延迟从几分钟到 24 小时不等
- 如前所述,这些是测试,因此我们使用的是一台具有一个内核和 4G RAM 的机器,它还运行其他应用程序。
在 2.0G 设置的高内存水印发生了什么:
- RabbitMQ 最终(一天左右)开始消耗 100%(只有一个核心)并且不响应管理界面也不响应
rabbitmqctl。这持续了至少 18 小时(总是最终杀死,删除磁盘上的 mnesia 延迟文件 - 大约 100 / 200 MB - 并重新启动)。
设置为 3.6G 的高内存水印发生了什么:
- RabbitMQ 被内核杀死,因为在这样工作大约一周后内存使用率很高(4 GB 硬件)。
- 延迟交换的Mnesia文件大约1.5G
-
RabbitMQ 无法再开始提供以下跟踪(我们假设由于在延迟中被 KILL 消息终止,以某种方式结束了 corrupted 或 something
{could_not_start,rabbit, rabbitmq-server[12889]: {{case_clause,{timeout,['rabbit_delayed_messagerabbit@rabbitNode']}}, rabbitmq-server[12889]: [{rabbit_boot_steps,'-run_step/2-lc$^1/1-1-',1,
现在我们在问自己:使用兔子延迟交换插件来获取大量信息,我们是否有点过头了?如果我们是,那么问题结束,重新考虑并重新启动,但如果不是,那么合适的硬件和/或配置设置是什么?
【问题讨论】:
标签: rabbitmq rabbitmq-exchange