如何提高kettle在大数据量下的读写速度 |
您所在的位置:网站首页 › 992s价格 › 如何提高kettle在大数据量下的读写速度 |
如何提高kettle在大数据量下的读写速度
1、kettle执行测速1.1 在5000条数据量和16000条数据量下读取数据的速度1.2 在5000条数据量和16000条数据量下读写操作的速度
2、提高kettle在大数据量下的读写速度2.1 修改数据库连接参数2.2 根据输入、输出库修改配置参数2.3 kettle开启多个线程操作2.4 kettle修改spoon.bat的运行内存大小
1、kettle执行测速
背景:最近公司项目重构,准备数据迁移,之前的表结构都会有变动,然后就准备用kettle做数据迁移,发现表的数据量大的时候,kettle对表的读写操作的速度很慢,并且是达到一定数据量以后速度会特别慢,数据量小的时候读的速度是很快的 1.1 在5000条数据量和16000条数据量下读取数据的速度
characterEncoding = utf8 //配置数据库字符编码 输入、输出数据库的配置都添加如下参数: useServerPrepStmts=false rewriteBatchedStatements=true useCompression=true 并且在输出表空间中可以修改提交记录数据的值,默认值是1000条,根据时间情况可以改大 1、在输入表的数据库中添加如下参数配置: // 增加读的操作 useServerPrepStmts:true cachePrepStmts:true // 读取缓存,设置过高消耗内存也会高 defaultFetchSize:10000 useCursorFetch:true useCompression:true //压缩数据传入,与mysql服务端进行通信时采用zlib压缩 2、在输出表的数据库连接中添加如下参数配置: defaultFetchSize:5000 // 提高写的操作 rewriteBatchedStatements:true useServerPrepStmts:false useCursorFetch:true // 设置与mysql服务器通讯时压缩数据传入 useCompression:true
上面说到了开启多线程,kettle其实也是在jvm内运行的,所以当设置的运行的jvm内存过小,但是开启多个线程占用内存过大,会直接导致卡死,执行不了,或是内存超出,此时可以修改spoon.bat的配置,修改完重启一下,修改的配置如下: |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |