ansible滚动升级tidb;由v3.0.12 升级至v3.1.1,出现读写热点监控曲线升高

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v3.1.1
  • 【问题描述】:使用ansible滚动升级方式将tidb由v3.0.12版本升级至v3.1.1版本,出现读写热点监控曲线升高
    集群拓朴:

2 tidb IP分别为: tidb1: ...142,tidb1: ...143

3 pd IP分别为:pd1: ...144, pd2: ...145, pd3: ..*.146,

3 tikv IP分别为:tikv1: ...147, tikv2: ...148, tikv3: ..*.149,

2 pump 分别部署在pd1和pd2机器上

1个drainer 部署在pd3机器上

升级前读写热点数据情况:

批处理的时候(会有大量的insert),会有写入热点,其他时间,写入热点曲线一直为 0 ;

读热点数据,监控显示一直就有,曲线所在的范围大概在1~2之间.

升级之后都有明显的升高。

监控时间段包含升级的时候,监控中显示的down掉的服务,是ansible在做滚动升级的时候停掉的服务。滚动升级之后,就不再显示down掉的服务了。

滚动升级时间:2020-05-27 凌晨05:20前后,升级过程没有报出任何错误。

升级步骤:

  1. git clone -b $v3.1.1 https://github.com/pingcap/tidb-ansible.git

2.修改配置文件:inventory.ini

3.ansible-playbook local_prepare.yml

4.ansible-playbook rolling_update.yml

5.ansible-playbook rolling_update_monitor.yml

  1. ansible-playbook stop_drainer.yml --tags=drainer

7.ansible-playbook start_drainer.yml --tags=drainer

xft-cluster-overview_.pdf (2.0 MB)

日志文件:https://github.com/liuhuanHappyStudy/TiDB-Question-Log/tree/master

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出打印结果,请务必全选并复制粘贴上传。xft-cluster-overview_.pdf (2.0 MB)

1 个赞

你好,

  1. 先确认下升级之后 tidb duration 是否有明显升高?对业务有没有影响。

  2. 从上传的监控中看,当前 tidb 集群空 region 比较多,根据下面链接先优化下

  1. 可否将 overview 中 tidb 和 tikv 的图也上传看下。
1 个赞

xft-cluster-overview-all.zip (4.2 MB) [quote=“户口舟亢, post:2, topic:34736”]
duration
[/quote]

  1. tidb duration增加了一点,还没有影响到业务。之前Overview → tidb → duration面板情况:
    99分位点多数情况在63ms以下,偶尔会超过63ms, 目前在63ms上下震动
    999分位点升级前很少超过200ms, 目前在250ms上下震动。

  2. 非常感谢,我先优化一下空的region,再观察一下集群情况。

1 个赞

你好

感谢反馈,

duration 还是有明显升高的,应该观察并处理下,峰值已经到秒级了(结合业务看哈), 先优化空 region 看下,当前 region 的数量和 qps 不多也不高,coprocessor cpu 和 raft store cpu 还有优化的空间。

1 个赞

好的,非常感谢您!

问题1. 空的region优化掉之后,修改的参数是否需要修改回原来的值?像tikv参数split-region-on-table,默认为true, 为了配合合并空 region,将其设置为 false,空的region合并后是否需要修改回true.

问题2. coprocessor cpu 和 raft store cpu的优化,能否提供一下优化的思路(或者方向)。

1 个赞

split-region-on-table 单表删除数据此参数没有影响,如果经常出现多表出现删除数据,可以不修改回去,自己结合业务判断下。

两个 cpu 当前是不高的哈,也是根据当前 qps 和 region 数量来判断的,空 region 过多会增加 raft store 的工作,执行语句时也是一样,也是对 coprocessor 是多余的压力,空 region 如下降,这两个 cpu 可能会平稳一些,可以提供一些文档帮助理解下:

  1. https://book.tidb.io/session4/chapter8/threadpool-optimize.html
  2. https://pingcap.com/blog-cn/best-practice-massive-regions-performance-improvement/
1 个赞

好的,非常感谢。

1 个赞

:ok_hand:,如果问题已经解决,选一个 解决方案 吧,新问题可以开新帖继续讨论。

1 个赞

您好,通过上述的优化方法!empty region已清空(目前empty region曲线一直为0,raft store cpu也降低很多。coprocessor cp和duration变化不大)。但是:读写热点数据没有改善,需要再找其他方向,来优化。

非常感谢!

1 个赞

ok,

看下 《TiDB in Action 》,热点问题解决思路篇是否有帮助

1 个赞

好的,谢谢。

1 个赞

ok:call_me_hand:

1 个赞