TIKV存储可用容量对性能的影响有几何?大佬速来讨论

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】v7.1.5
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
最近在删除历史数据,释放空间,现在可用容量有25%左右。删除过程中慢慢发现,KV的IO Util慢慢下来了。
所以有个问题:TIKV存储容量最大可用多少?超过多少会导致性能下降?有没有相关的说法或者约定?
不知道这个算是TIDB的问题还是存储的通用问题,大家一起讨论下~

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】


1 个赞

ssd不看IO Util 看respose time

response time 是哪个?

请求频率是没啥变化的

TIKV存储可用容量对性能的影响是一个多方面且复杂的问题

有点复杂

:flushed:没看懂,可用的多,速度就快?可用的少,速度就慢?

https://docs.pingcap.com/zh/tidb/stable/alert-rules#tikv_space_used_more_than_80

我只知道超过80%就有告警。然后pd也不倾向于向超过80%存储占用的tikv上调度region。除非所有的tikv都超过80%。

所以我感觉保持在80%以下应该是个比较好的选择。

存储是啥,NVME吗?

是的。

之前在群里有大佬提到过,企业级nvme在达到80%容量使用时,性能会下降,接近100%使用率,性能下降更加明显(具体可以问问厂商)

我记得ssd有这个性能损耗

:flushed:部署了这么多集群,还没用过SSD~竟然还有这么一个特性

SSD在接近满载时性能下降通常比HDD更为明显。建议保持在70%以下。

内存啥的剩余空间多少会影响性能

SSD(固态硬盘)在存储接近满载时性能下降的原因主要与其内部使用的闪存颗粒工作机制有关。闪存颗粒在写入数据前需要先进行擦除,随着可用容量的减少,干净页面(即无需擦除即可写入的页面)的数量也减少,而需要擦除的脏页比例增加,这会影响写入效率。

此外,现代SSD常采用SLC模拟缓存技术来提升写入性能。但这种缓存机制依赖于足够的可用空间,当SSD容量接近满时,缓存效果减弱,导致性能下降。具体来说,SSD被配置为有一部分存储以高速运行,其余部分以慢速运行。更快的部分是SSD的缓存,其大小取决于SSD上剩余的空间。SSD上存储的东西越多,SLC缓存就越小,写入数据时的速度就可能越慢。
参考下 :grinning:

3 个赞

确实有这样的原因,这个是SSD的硬件特性

第一次听到ssd有这种特性

:joy:这个特性有点low啊

1 个赞

单个TIKV节点容量建议4TB

1 个赞