tiflash 单个节点承担负载,其他节点空闲。

tidb 5.0.3
上次发了个帖了解到 ,查询请求打到哪个tiflash节点上,是 构建 cop 请求时会根据 tiflash 上的 region 数量和连续 region 分布情况计算一个分数,优先选择分数较高的 tiflash。
1)能查看各个TiFlash的打分情况吗。
2)有办法可以控制节点的分数吗,尽量让多的节点承担负载。我们这个集群6个tiflash节点(2副本),但是频繁出现单台机器承担负责,其他都空闲状态,这样不太合理。


1 个赞

看看 PD 监控下的 balance- statistics 下面的监控指标(可以只看。tiflash 的)

1 个赞


附上PD 的7天监控信息: tidb-rpt-PD_2022-02-28T11_01_48.110Z.json (11.7 MB)
你好,我看相同角色的节点 ,挺均衡的。 绿框是tikv节点(4个/3副本),红框是tiflash节点(8个/2副本)。

这个看 leader score,不过看起来好像也挺均衡的,问一下,咱们的 SQL 有规律吗?或者说 CPU 的使用是 SQL 导致的吗?

咱们的慢日志里有执行计划,可以看看那些走的 store 是 tiflash 的,或 执行计划走的 是 tiflash 的,建议咱们先解决问题,再看看。tiflash 均衡的问题,tiflash 均衡的问题,我到时候会反馈一下,看是否合理及怎么改进

1 个赞

十分感谢,经排查是某些sql查询导致的, tiflash cpu高这个问题目前解决了。 由于我们对所有的大表查询 都强制 用了hint read_from(tiflash) 了。 结果发现有的过滤后中小数据量的查询走tikv 的索引会更快。 tiflash使用率一直维持再10%以下了。 效果很明显。就是针对一两个表的查询 ,使用很频繁,把 CPU 一直打到很高。
但是tilfash 负载不均衡,感觉还是不太合理。

感谢反馈,关于 tiflash 负载均衡的问题,我也反馈一下,感觉确实1、定位起来有点麻烦,不明显 2、在某些场景下,没有达到预期的 负载均衡,对吧
– 看了一下 关于基于 流量和 qps 的进行切分的 参数,都是 tikv 独有的,我问问 tiflash 有相关计划不(https://docs.pingcap.com/zh/tidb/stable/configure-load-base-split#使用方法)

1 个赞

对对~ :+1: 希望咱们的产品越来越强,越来越完善~

:grinning::ok_hand:

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