Taosdump的导出相同的数据量的性能时间和存储数据量有关系?而且差别还很大

【TDengine 版本】

3.2.1

【遇到的问题:问题现象及影响】

预发布环境:

总数据量:2千多万

执行命令:

sudo /usr/local/taos/bin/taosdump -h 172.31.2.7 -D db_pos_pre -o /home/saas/td_transfor/

导出时间大于:1-2秒

导出数据量:2千多万

生产环境:

总数据量:200多亿

执行命令:

sudo /usr/local/taos/bin/taosdump db_pos imei_357956373103664 imei_3242……[还有很多子表] -h 172.17.222.129 -u root -p123456 -T 16 -o /home/td_transfor/

导出时间大于:四个多小时

导出数据量:2千万左右

问题:环境版本taosdump都一样,区别在于存储总共数据量不一样,导出数据量基本一样,但是时间相差那么远?

2 个环境里面的表数量、表结构都完全一样吗?

表结构是一样的

生产环境的表数据量:

image

预发布环境的表数量:

image

虽然预发布环境的表数量比生产的还多,但是预发布很多都是空表,没有数据了的,预发布的总数据量就2千多万

看到 2 侧环境的 taosdump 命令不完全一样,一个是整库、一个是选取子表的。先看看命令一样情况下导出情况如何

这个命令有影响吗?整个库的生产环境弄不出来,会导致cpu飙高,但是数据量都差不多的,所以才选择生产环境部分子表导出

如果只导出指定时间范围的数据的话,可以加-S -E 参数指定时间段,看看导出速度有无变化

不行,生产环境必须要指定超级表和子表才行,之前测试一下即使开始时间和结束时间,时间范围在一小时内,都导不出来,一直卡死,控制台显示进度一直是0%,然后会出现下面的慢sql日志,并且服务器cpu会飙高

taosdump 导出耗时瓶颈推测在等待 taosd 查询返回信息,TDengine 服务器负载高,处理查询请求慢,可以通过 taos 命令行查询当前执行 sql:”show queries;”,在 taos 中执行该sql看下耗时情况。可以尝试下业务闲时执行导出任务,或扩容 TDengine 集群提升处理能力。