为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:v4.0.0-rc
- 【问题描述】:
对1000多万行的表开启 Tiflash以后,progress一直没有进展,好几个小时了,非常慢,如何能加快Tikv 数据ship 到Tiflash的速度呢?有参数可以调吗?
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
这是一个单节点,40cpu,200多G内存,一块ssd的测试环境, 我们现在还在调研使用tidb, 开启Tiflash的表是一个1000多万行,60列左右的表。max-replicas 是3. 因为是局域网的服务器, 日志导出比较麻烦。
我们现在想知道有没有什么参数可以让整个环境全速进行Tiflash数据移动?因为是测试环境,我们没有任何其他读写load。
下图是部分Tiflashlog截图, Read 2 rows每次?
一夜过去了,毫无进展
重启过集群了
完整的Tiflash.log 上传有点麻烦。
参数正确设置了,
另外我的测试数据库里面有一个别的表,它已经完成了Tiflash的复制(不记得花了多长时间了,但是肯定没有现在的这么慢)
想知道还有什么参数可以调的吗?
tiflash日志中仅有这些类似 “Read 2 rows” 的日志,其实说明 pd 没有把数据调度到tiflash节点。
建议先尝试把集群升级至 v4.0.0-rc.2,pd 修复了一些调度不生效相关的 bug。
我把之前的环境destroy了,然后重新搭建了一个 单节点,单实例 的环境 版本是v4.0.0-rc
然后升级到v4.0.0-rc.2, 也重启过集群了, 但是半小时多过去了,progress,还是0?
导入了一个60多万行的表
max-replicas 也设置为了1
你好,
执行下 config placement-rules show
上传下返回结果
你好,
请看下私信,感谢
感谢各位的回复~
我最后又把上一次的环境destroy了, 然后重新搭建了一个 v4.0.0-rc.2的单实例,单节点环境。
然后开启了Tiflash之后, 马上就有progress了。
不容易啊~
我这次搭建直接在topo指定了max replicas为1(在第二次搭建的时候,我没有这样指定,而是搭建好以后用pd-ctl 改的)
回想这个过程,,我们在Tiflash log中,是否能打印一下,Tiflash开始复制的log,然后能否有调节Tiflash 复制数据的参数?我们的使用场景是少写多读, 我在写的时候,可以不读, 这样我就希望我写的时候,能够以最快的速度,全速进行数据复制到Tiflash?
你好,
可以通过以下 api 来修改 placement rules 的值。
curl -X POST -d '{
"group_id": "pd",
"id": "default",
"start_key": "",
"end_key": "",
"role": "voter",
"count": 2,
"location_labels": [
"host"
]
}' http://172.16.5.169:22379/pd/api/v1/config/rule
或者用文档中的方式,先写成 rules 文件,在使用 pd-ctl 导入:
https://pingcap.com/docs-cn/stable/configure-placement-rules/
你好
在Tiflash log中,是否能打印一下,Tiflash开始复制的log
TiFlash 目前 是被动接受从 PD 的调度,从 TiKV 处接收数据的副本。 接收副本的时候会打印类似 Try to apply snapshot: [region <region_id>...
的日志,但暂时不发生同步的错误原因的确不太直观。
我就希望我写的时候,能够以最快的速度,全速进行数据复制到Tiflash?
对于先在 TiKV 写入好数据,再通过 DDL 同步到 TiFlash 的情况,目前可以按照 TiFlash 配置参数-PD 调度参数 调整 PD 参数,加快 snapshot 同步的速度。
不过调整完之后,因为生成 snapshot,传输到 TiFlash 也会消耗一部分 TiKV 的 CPU、磁盘 IO、网络 IO。如果对延迟抖动比较敏感,建议同步完之后调整回原值。
另外,对于已经同步完成的表,后面少量的写数据同步是通过 raft-log 进行,在读时即能通过 raft 的机制保证读到最新的数据,一般可以在ms~百ms内完成同步。
,这点我们会反馈下,这边也评估下。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。