pd监控面板-->Size amplification

pd的监控面板里面有1个监控面板 pd监控面板–>Size amplification


结合官网说明及rocksdb的原理,这个监控面板应该反映的是 数据的真正大小的存储空间/实际存储占用时的空间(数据的真正大小是100MB,但实际存储时耗掉了200MB空间)
1因为rocksdb 支持mvcc,同1份数据有多个版本,过期数据不会马上清理,这多个版本的数据也需要占据空间
2.rocksdb在compaction的过程中,例如将上一层的2份数据压缩到下一层,原始2份数据要等compaction完成后才能被删,所以也会造成空间放大,这个空间放大可以认为是2

所以,通过指标是不是可以去判断如果空间放大比很高,那么说明有可能旧版本数据没有及时清理,那可能说明gc时间设置过长,或者gc没有生效
不知道这个结论是不是正确?
但是疑问是不知道为什么这个promsql的公式是这么写的?需要* 2^20

https://docs.pingcap.com/zh/tidb/stable/manage-cluster-faq#如何预估-tidb-中一张表的大小


但是这里官方文档又说是压缩比


https://docs.pingcap.com/zh/tidb/stable/grafana-pd-dashboard#pd-重要监控指标详解
官方文档这里又说是空间放大比率,Size amplification 到底是啥?

现在有点懵逼满

1.其实这个既是集群压缩比(因为这个值是根据region_size/store_used)算出来的,之所以需要* 2^20,是因为region_size的单位是MB,store_used 的单位是字节
2.其实这个也算是tikv的空间放大,只不过region_size是压缩前,而store_used 是压缩后的,这个压缩比的算法不是很严谨

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。