Version:6.1.0
用Lightning导入csv数据,800多G,32线程
用时1个半小时,提示导入成功
提示导入成功后,tikv是ok的,但tiflash并没有ready,又过了3个小时左右才可用
在这3个小时里,在tiflash_replica表里看到replica同步是100%了,但是其实查tiflash存储会卡住不响应
资源使用情况如下图,可以看到,导入结束后,还有3个小时的低负载状态
我的问题是:
-
这是不是正常现象?
-
有没有开关能加快这3个小时的过程?
- 现象不正常,这个需要监控以及日志分析
-
同步慢可能由多种原因引起,你可以按以下步骤进行排查。
- 调整调度参数取值。
- 调整 TiFlash 侧负载。TiFlash 负载过大会引起同步慢,可通过 Grafana 中的 TiFlash-Summary 面板查看各个指标的负载情况:
-
Applying snapshots Count
: TiFlash-summary
> raft
> Applying snapshots Count
-
Snapshot Predecode Duration
: TiFlash-summary
> raft
> Snapshot Predecode Duration
-
Snapshot Flush Duration
: TiFlash-summary
> raft
> Snapshot Flush Duration
-
Write Stall Duration
: TiFlash-summary
> Storage Write Stall
> Write Stall Duration
-
generate snapshot CPU
: TiFlash-Proxy-Details
> Thread CPU
> Region task worker pre-handle/generate snapshot CPU
根据业务优先级,调整负载情况。
感谢帮助!
是一个验证集群,同步过程中TiFlash侧没有任何其他负载,从监控面板看各项指标都贴地皮
store limit目前参数如下,调整到多少比较恰当?
没有确定的值,主要看机器负载,可多次尝试寻找合适的值。
如果机器的性能合理的话,应该不至于这么长事件的延迟。
好的,我调大了试一下。性能方面,确实没有看到任何负载,cpu/内存/IO/网络,都贴地皮
我把store limit 调到了上限200
还是要三四个小时,资源占用依然很低
还有什么可以做的吗?
按照这个把tiflash的完整监控发一下。分析一下
tiflash-learner.toml
[server]
engine-addr = 外部访问 TiFlash coprocessor 服务的地址
[raftstore]
## 处理 Raft 数据落盘的线程池中线程的数量
apply-pool-size = 4
## 处理 Raft 的线程池中线程的数量,即 Raftstore 线程池的大小。
store-pool-size = 4
## 控制处理 snapshot 的线程数,默认为 2。设为 0 则关闭多线程优化
snap-handle-pool-size = 2
## 控制 raft store 持久化 WAL 的最小间隔。通过适当增大延迟以减少 IOPS 占用,默认为 “4ms”,设为 “0ms” 则关闭该优化。
store-batch-retry-recv-timeout = “4ms”
[security]
## 从 v5.0 引入,控制是否开启日志脱敏
## 若开启该选项,日志中的用户数据会以 ?
代替显示
## 默认值为 false
redact-info-log = false
apply-pool-size,store-pool-size可根据集群配置适当调整
snap-handle-pool-size 应该是默认0,可以调整开启。
不好意思,我没看懂应该干啥,刚接触不久
我应该用tiup cluster edit-config xxx改配置吗?还是要找到这个toml手工改?
这个文件在哪?改了之后需要干什么吗?
刚看了你的监控,处理Snapshot比较慢 所以调整一下参数,这个你可以在测试环境测试一下。
tiup cluster edit-config xx就可以。
另外replica-schedule-limit 适当调整,但是不要超过 region-schedule-limit
region-schedule-limit 和 replica-schedule-limit 我是调过了的,这个大小够了吗:
你说的tiflash_learner的配置,我改大了再试试吧
小王同学Plus
(小王同学 Plus)
15
你好,想确认下 lightning 导入数据的时候是用的什么模式?
改了配置,依然是资源占用很低,和以前没有区别
目前还没跑完,但是目测还是需要三四个小时
tiup cluster edit-config xx :
资源占用:
您好,用的local模式,导入的csv,配置如下:
小王同学Plus
(小王同学 Plus)
18
如果是 local 模式的话,猜测是有些影响。local 模式是将这些键值对以 SST 文件的形式上传到各个 TiKV 节点,然后由 TiKV 将这些 SST 文件 Ingest 到集群中。而 tiflash 同步 tikv 的数据是 region learner 的形式进行同步的。
嗯,现在我的疑惑就是,这个同步的速度太慢了。
导入一个半小时,同步快4个小时。
就是想问问有没有办法加快速度。