为什么 CockroachDB 的磁盘使用量在增加,即使我没有写入它?

Why is CockroachDB's disk usage increasing even though I'm not writing to it?

我最近启动了一个 CockroachDB 进程并注意到它的磁盘使用量一直在增加,即使我在几个小时前就停止写入它了。这是怎么回事?有什么办法可以阻止它长大吗?

CockroachDB 将内部时间序列监控数据存储到自身中,以便为其 admin UI 中的图表提供动力。此数据会累积 30 天,然后才会开始被删除。因此,在集群生命周期的前 30 天左右,您会看到磁盘使用量和集群中的范围数量稳步增加,即使您没有自己向集群写入数据也是如此。

从 1.0 版开始,无法更改时间序列数据被截断前的天数。但是,作为一种解决方法,您可以使用 COCKROACH_METRICS_SAMPLE_INTERVAL 环境变量设置高于其默认值 10s 的值来启动每个节点,以存储更少的数据点。例如,您可以将其设置为 COCKROACH_METRICS_SAMPLE_INTERVAL=1m 仅每 1 分钟收集一次数据,这将导致存储的时间序列数据比默认设置少 6 倍。您也可以将其设置为一个非常大的值,例如 COCKROACH_METRICS_SAMPLE_INTERVAL=87600h 每 10 年仅对数据进行一次采样(实际上从不)。