批量写入频繁9005

【 TiDB 使用环境】

【概述】:集群频繁的报9005导致业务写入慢

【背景】:优化过rafstore的参数,apply-pool-size /store-pool-size,append/apply logx响应小于100毫秒内,对业务表进行shard值为5.
符合这个case:https://github.com/pingcap/tidb-map/blob/master/maps/diagnose-case-study/case958.md
按这个排查过:https://docs.pingcap.com/zh/tidb/stable/tidb-troubleshooting-map#22-latency-持续升高
通过jq分析是否region存在没有leader问题,检查正常

【现象】:业务属于每10分钟批量写入数据,一个批次在40W+左右,高峰期写入频繁报9005 Region is unavailable,raftstore error值报err_epoch_not_match,根据日志查看是数据写入后split引起的问题

【问题】:集群频繁的9005,引起写入慢
【业务影响】:数据写入延迟,影响报表等服务

【TiDB 版本】:V3.0.19
image
image

1 个赞

@Ricklee 帮忙看看~

  1. 麻烦看下每批次提交的数据量是否可以拆的更小?
  2. 集群写入慢的问题,可以先参考这个帖子排查下:
    TiDB 写入慢流程排查系列(一)— 前言


这个帖子都看过了

如果你可以确认是由于 region 频繁 split 引起的问题,那可以考虑将下面两个参数阈值调大点,降低 region split 的频率:
(1)region-max-size ,含义:Region 容量空间最大值,超过时系统分裂成多个 Region,默认值:144MB
(2)region-max-keys,含义:Region 最多允许的 key 的个数,超过时系统分裂成多个 Region,默认值:1440000

目前这个参数我看官网在raftstore上 我的配置在


是否直接开

目前我在更新集群配置,这个要生效 必须重启TIKV节点吧

是的,在 3.0 版本中还不支持在线修改。

通过修改参数,缓解了不少,设置成385MB

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