【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.1
【复现路径】早上用户查询后,会出现节点cpu被打满的问题
【请求解决方法】
【资源配置】
磁盘为nvme盘
【 TiDB 使用环境】生产环境
【 TiDB 版本】8.1.1
【复现路径】早上用户查询后,会出现节点cpu被打满的问题
【请求解决方法】
【资源配置】
磁盘为nvme盘
这个需要看下是什么 SQL 导致的 CPU 高。如果是 TiFlash 节点负载高,大概率是并发比较大的 SQL 跑到了 TiFlash 上了。有时候 TiKV 和 TiFlash Cost 相近时候,会误使用 TiFlash 来运行,而 TiFlash 在高并发场景下表现又特别差,可能会引起问题。 可以对特定场景的 SQL 主动设置tidb_isolation_read_engines='tikv,tidb'
,让其不走TiFlash。
是的 早上高峰期tiflash就被打满,然后如果不走tiflash 查询又很慢 但目前节点已经五台,在进行扩充成本上又不支持 ,所以寻求一种模式,如何更好的进行实践tiflash
精细化控制 SQL 是使用 TiKV 跑还是 TiFlash 跑,可以在 TiDB 层面分开
你首先要看看这时间是什么sql跑在上面。
再来看看那些是应该tiflash跑的,那些不应该。
这1个小时呢。如果确实就是这么多数据需要跑,那也可以考虑错峰啊。10点后基本就没人用了。这种情况你让老板打钱加硬件肯定搞不定的。
可以在tidb dashboard的top sql指定这个节点查看哪些SQL消耗的CPU资源高,然后查看这些SQL的执行计划是否合理