为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
- 【TiDB 版本】:3.0.9
- 【问题描述】: mydumper多线程导出,tidb的连接数还是1
mydumper 指定线程数 -t 8 或者别的值,但是tidb节点显示连接数还是1,这个并发备份体现在哪里呢?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
mydumper 指定线程数 -t 8 或者别的值,但是tidb节点显示连接数还是1,这个并发备份体现在哪里呢?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
有配置slb,连得是slb的地址
命令是
./bin/mydumper -h slb-ip -P 4000 -u root -a -t 16 -F 64 -B test -T sbtest1 --skip-tz-utc -o /data/backup/tidb_test_sbtest1
./bin/mydumper -V
mydumper 0.9.5 (ba3946edc087e87bba7cb2728bc2407f6dbd0a8b), built against MySQL 5.7.24
监控里面tidb的连接数是1
mydumper 的线程粒度是针对表的,每张表一个连接,可以尝试同时备份多个表,看下连接数情况。
上面单表备份我用的切分是-F ,当我用-r 就能实现单表内的并发,-t就起作用力。这两个参数 一个从文件大小 一个按行数来划分,哪个性能比较好?推荐用哪一个呢
-r 选项是 TiDB 在原先 mydumper 的基础上根据 TiDB 的隐藏列 _tidb_rowid 对单表内并发导出进行的优化, Mydumper 首先计算 min(_tidb_rowid)
和 max(_tidb_rowid)
,然后按照 -r
设定的值对表划分 chunks,将 chunks 分配到不同线程并发导出。
设置了 -r 选项之后,mydumper 会忽略 --chunk-filesize 选项。
TiDB 对于没有主键或者主键为非 int 类型的表,会生成隐藏列 _tidb_rowid ,所以对于该类表,使用 -r 选项会更优效果。具体可以进行测试对比一下。
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。