Java & Mysql 百万数据从一个系统迁移到另一个库,求优化策略

一、业务背景

B系统需从A系统获取历史数据,数量大概100w~200w 条

二、环境情况

所有服务器默认都是:4核16G,性能一般般;都是单机部署

三、现在的解决方式

B系统多线程发Http请求去A系统获取每次5000条数据,然后批量插入B系统数据库

B系统线程池配置:

img

B系统的数据库: 最大连接数400

现在执行完基本都稳定在1min30s左右,请问还有提升的空间吗?

spoon工具

方案1:B系统直连A系统数据库,省去HTTP接口交互
方案2:做数据库端的同步,不经过系统,例如:canal

另外,感觉线程池开太大没意义,每个线程插入5000条,数据库压力也大