【详述】
自研 mysql-StarRocks 全量导入数据组件,导入的方式是 使用 http stream load 直接连接 3个be节点轮询并发导入。
迁移的表:10个 。并发方式:表级别并发导入【一个表切分多份,并发导入】
stream load 一开始磁盘读不是很大,但是 导入大量数据一段时间后,比如5个并发 40分钟后,频繁报publish timeout. The data will be visible after a whileerrors(此报错已经导入成功,我也了解的) 后, 导入速度越来越慢,此时磁盘出现大量持续性的磁盘读,磁盘负载达到360MB+每秒。
就算把导入程序停了2个小时后,启动程序 现象还是同上。导入程序停止期间 磁盘读大幅度下降。
导入变慢时,正在导入的表信息:【都在对一个表并发导入】
mysql 表:60+亿行
SR表:3个分区72个分桶
【问题】:
1、磁盘出现大量读?在处理什么? 合并读?
2、有效果非常明显的参数优化没?
【同样的问题】:
使用阿里开源的datax单线程导入,一段时间后如20个小时,磁盘读负载也是非常高,达到350MB/s
【业务影响】
【是否存算分离】否
【StarRocks版本】3.1.2-4f3a2ee 、2.5.12
【集群规模】例如:3fe(1 LEADER+2FOLLOWER)+3be(fe与be独立部署)
【机器信息】CPU虚拟核/内存/网卡,例如:16C/64G/万兆
【表模型】例如:主键模型
【导入或者导出方式】自研 mysql-StarRocks 全量导入数据到系统,导入的方式是 使用 http stream load 并发导入
【联系方式】StarRocks社区群17-刘东发
【附件】
iostat -xm 3 100 截图
iotop -oP 截图: