tidb 批量写数据很慢

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

  • 【TiDB 版本】:v3.0.12

  • 【问题描述】:spark写入2000万数据,需要近2小时,平均耗时啥的指标都没啥变化,磁盘io(7t ssd ,raid 10),cpu(56c)都没啥压力;有什么优化方案吗?相同数据量写oracle只要10来分钟;

    如何提升tidb的吞吐量?

hi,

2000w 数据时写入 tidb 单表中,tidb 作为分布式数据库存在写热点问题,根据表结构情况通过预打散 region,减少写热点带来的性能损失;当前信息较少,可以提供下:

  1. 当前表结构
  2. 是否为单表写入
  3. 写入数据库形式(replace into 还是 insert into),批次是多少。

1、表有15个列 ;
2、单表;
3、insert into ,batch调整过很多值50,200,5000,对写入影响变化不是很大。

尝试了很多,感觉存在一个单表限制到每秒写入10000多一点这个范围了,是否有类似的参数限制啥的?
当前写入并发是200;

你好,

  1. 可以看下链接,提供下表结构,看下。

  2. batch 可以限制在 512 左右,sql 形式可以为

BEGIN;
INSERT INTO my_table VALUES (1), (2), (3);
COMMIT;
  1. sync-log 设置为 false 。

可以修改 conf/tikv.yml 中 raftstore 下面的 sync-log 参数:

[raftstore]
sync-log = true