我们正在为mongo开发一个容错自动缩放器(我们无法找到能够自动缩放的东西,因此我们没有为无人深夜使用的东西付钱) )。我有一个读写负载测试,基本上可以对群集进行连续读写的压力测试。我有一个在EC2-Nanos上运行的简单的3节点集群(是的,您没看错),至少在实验室实验中,显然它会非常稳定,我们将重新考虑将其用于生产。但是我正在寻找某种会触发升级的启发式方法(检测到后,我们将以编程方式将集群向上扩展,一次从一台机器扩展到一台机器)。
一个候选人是mongotop,这是示例输出:
ns total read write 2019-12-17T13:32:46-05:00
local.oplog.rs 5ms 5ms 0ms
config.transactions 4ms 0ms 4ms
x.data 3ms 0ms 3ms
admin.system.keys 0ms 0ms 0ms
admin.system.roles 0ms 0ms 0ms
admin.system.version 0ms 0ms 0ms
config.system.sessions 0ms 0ms 0ms
x.audit 0ms 0ms 0ms
x.statuses 0ms 0ms 0ms
我一直在考虑将local.oplog.rs的总时间用作启发式方法,如果持续时间> 10ms或类似时间,但是我不确定它是否反映了读取压力。
您是否可以想到一个度量标准,可以很好地指示我们应该扩展集群吗?
谢谢, 凯文