0
0
0
0
专栏/.../

TiDB v4.0.12 VS v5.0.0 insert 性能对比

 navyaijm2017  发表于  2021-09-02
原创

环境说明

集群拓扑

  • V4.0.12的部署拓扑

    tidb4top

  • v5.0.0的部署拓扑

    tidb5top

配置文件

在相同的服务器上部署V4.0.12和V5.0.0两个版本的集群,部署参数两个集群都相同,下面参数做了调整:

server_configs:
  tidb:
    log.slow-threshold: 2000
    binlog.enable: false
    binlog.ignore-error: false
  tikv:
    storage.block-cache.capacity: "2GB"
    readpool.storage.use-unified-pool: false
    readpool.coprocessor.use-unified-pool: true
  pd:
    schedule.leader-schedule-limit: 4
    schedule.region-schedule-limit: 2048
    schedule.replica-schedule-limit: 64

压测

我们这边目前线上4.0的集群有个场景只是单纯的insert,所以我这边先只测下insert场景,看看5.0的异步提交能给insert场景加速多少。
使用sysbench 初始化100万数据,对比哪个集群写入的快

  • sysbench配置如下:
mysql-host=xx.xx.184.43
mysql-port=4005 #5.0.0集群
mysql-port=4000 #4.0.12集群
mysql-user=root
mysql-password=xxx
mysql-db=sbtest
time=1200
threads=64
report-interval=10
db-driver=mysql
  • 压测命令
time sysbench oltp_common --config-file=config_4  --table-size=1000000 prepare
time sysbench oltp_common --config-file=config_5  --table-size=1000000 prepare
  • 压测说明
    因为两个集群是部署在相同的服务器上,为了没有集群间相互影响,压测是窜行的,即当4.0的压测结束才会进行5.0的压测
  • 压测结果
版本 压测数据量 结果 参数 轮数
V4.0.12 100w 0m52.055s tidb_dml_batch_size=20000 第一轮
V5.0.0 100w 1m8.385s 异步提交开启,tidb_dml_batch_size=0 第一轮
V4.0.12 100w 0m52.917s tidb_dml_batch_size=20000 第二轮
V5.0.0 100w 1m7.428s 异步提交开启,tidb_dml_batch_size=20000 第二轮
V5.0.0 100w 1m5.904s 异步提交关闭,tidb_dml_batch_size=20000 第二轮
V4.0.12 1000w 8m55.257s tidb_dml_batch_size=20000 第三轮
V5.0.0 1000w 12m28.236s 异步提交开启,tidb_dml_batch_size=20000 第三轮
  • 结论
    从压测结果看无论是5.0开启异步提交还是关闭异步提交,还有开启批量提交,insert的性能都没有4.0的好,感觉这个不是预期内的
0
0
0
0

版权声明:本文为 TiDB 社区用户原创文章,遵循 CC BY-NC-SA 4.0 版权协议,转载请附上原文出处链接和本声明。

评论
暂无评论