我正在使用 MongoDB 令人敬畏的上限集合 + 可尾游标在我的系统中的不同进程之间进行消息传递。对于不同类型的消息,我有许多这样的集合,文档以可变的速率和大小写入其中。每个集合,写入率可能会有很大差异,但应该很容易从过去/正在进行的操作中得出文档大小和速率的典型/保守上限。
此外,我有一个定期工作(每小时一次),它查询消息并将它们存档。归档所有消息非常重要,即在作业有机会归档它们之前不得丢弃它们。(归档的消息被写入文件。)
我想做的是某种大小/速率监控,这将允许确定消息大小和速率的上限,据此我可以决定我的封顶集合的合适大小。
我计划设置一些监控工具,运行一段时间以收集信息,然后对其进行分析,并为我的上限集合决定合适的大小。当然,目标是让它们足够小,以免占用太多内存,但又足够大,以使丢失消息的可能性不大。
这是我认为可以提供帮助的信息:
- 过去一小时内写入的消息数量和总大小(平均,随时间变化)
- 完成一个“完整周期”需要多长时间(平均而言,随着时间的推移)
- 是由 max-bytes 或 max-documents 限制的集合
查找此信息的最佳方法是什么,是否还有其他相关的统计数据?
关于如何将其与石墨/碳集成的提示也很棒!