ob-loader-dumper-4.2.0导入数据的性能问题

【 使用环境 】生产环境
【 OB or 其他组件 】ob-loader-dumper-4.2.0
【 使用版本 】4.2
【问题描述】耗费2天时间才导入100G左右的数据,性能是不是太慢了,没有调任何参数
【复现路径】没有修改任何参数就写了个还原脚本,在3台64G的服务器作为OB集群进行恢复数据
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

您的问题可能存在误解,实际上据我所知,数据导入的速度受到多种因素的影响,包括但不限于硬件性能、网络状况、数据格式、表结构复杂度以及是否启用了并行导入等。针对您提到的情况,这里有几个建议可以帮助优化导入性能:

  1. 启用并行导入:根据 [1]中的描述,使用 LOAD DATA 命令时可以通过添加 /*+ parallel(并行度) */ 来指定并行导入的级别。虽然您使用的是 obloader 而非直接的 LOAD DATA 命令,但是 obloader 也支持类似的并行处理机制。确保您已经正确设置了适当的并行度,这通常能够显著提升导入速度。

  2. 检查硬件与网络:即使是在高性能的服务器上,如果网络带宽不足或是磁盘I/O成为瓶颈,也可能导致导入速度变慢。请确保您的网络连接稳定,并且磁盘读写速度满足需求。

  3. 调整相关参数:尽管您提到没有调整任何参数,但在导入大量数据之前适当调整一些系统变量可能会有所帮助,比如增大事务超时时间(ob_trx_timeout)等,这些都可以通过 SET 命令来实现 [1]

  4. 优化数据文件格式:确保您的数据文件格式适合快速导入。例如,CSV 格式通常被认为是比较高效的导入格式之一。

  5. 使用最新版本:您当前使用的 ob-loader-dumper-4.2.0 版本可能并非最新版本。随着新版本发布,OceanBase 团队通常会对工具进行持续优化。升级到最新版本可能会带来性能上的改进。

  6. 监控与日志分析:最后,建议您密切关注导入过程中的监控指标变化,并定期查看日志文件以发现潜在问题。如果有必要,可以使用 obdiag 工具来收集更详细的诊断信息,这对于定位问题非常有帮助。

综上所述,通过上述方法应该能够在一定程度上改善您的数据导入体验。如果问题仍然存在,请考虑提供更多具体细节以便进一步排查。

详情请参考:

  1. 体验并行导入和数据压缩
  2. 使用 OceanBase 导数工具从 OceanBase 集群 Oracle 租户迁移数据到 MySQL 租户
  3. 使用 OceanBase 导数工具在 OceanBase 集群 MySQL 租户间迁移数据
  4. 日志与监控

首先检查下数据库有没有压力,IO、网络、CPU是否有瓶颈,对应的转储参数和内存限速参数是否打开
数据库侧没有压力的话,就可以适当调大OBLOADER的JVM内存和并行参数或者直接走旁路导入,可以参考下面两个文档

https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000001189494
https://www.oceanbase.com/docs/common-oceanbase-dumper-loader-1000000001189498

1 个赞