无法重建表的情况下,读写热点有什么办法改善或解决吗?

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】4.0.10
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】生产集群出现读写热点,有什么可以人工干预的操作?
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】

Split Region 使用文档 | PingCAP 文档中心

热点region手工split

1 个赞

如果写入是自增的,split是起到改善作用吗

写没用,读应该有点用

我感觉也是的,写入自增还是集中在一个region :joy:,之前也看了这个文档,想着问下是否还有更好的处理方式

最好靠谱的还是换个硬盘

看起来还是只能改造了,一般写入量比较大的表不多的,我理解改造范围还行?

还有看版本也老了,4.0 已经不维护了,快升级吧。

split主要针对读的,写自增可以alter成auto_random试下。

升级吧

升级后是有可以人工干预优化的操作吗,好像看文档也没看到

  1. 设计之初,没有做足优化考虑,后边免不了会有改造的操作;
  2. 一开始如果做了太多的优化,又有过度优化的问题。
    这两点要自己把握一个度了,没有万能的数据库~
1 个赞

嗯嗯,了解,主要是在处理突发紧急线上问题时,对这种情况有点无从下手,想问问社区大佬的处理方案

不超过64M的话,做成热点小表呗
https://docs.pingcap.com/zh/tidb/stable/cached-tables
或者使用 SHARD_ROW_ID_BITS 处理热点表
https://docs.pingcap.com/zh/tidb/stable/troubleshoot-hot-spot-issues#使用-shard_row_id_bits-处理热点表

4.0好像还没有alter table auto_random,后面的版本可以直接改的。

新版本性能会好一些。

主要你这个版本太老了。

1 个赞

1、手动split;
2、开启单表单region(也就是不允许一个region里面包含多个表的数据);
3、业务逻辑修改适配

参考如下链接试试:https://docs.pingcap.com/zh/tidb/stable/troubleshoot-hot-spot-issues#tidb-热点问题处理

根本解决还是需要 打散读热点

建议升级

4.0 写热点没法处理啊