- 修改spoon脚本的jvm参数
- PENTAHO_DI_JAVA_OPTIONS=”-Xms1024m -Xmx2048m -XX:MaxPermSize=256m” 具体视配置而定
- 修改日志输出级别
- 默认的情况下,kettle输出的是基本日志,如果访问十几万的数据库,那基本日志的输出也会达到5、6百兆,这样严重影响了执行效率,所以修改kettle的日志级别为error级,只输出错误日志即可。
- Rowlevel日志的性能会严重下降,是Basic的1/10
- 配置:Action => Run options => Log level => Only error
- 调整提交(Commit)记录数大小进行优化(尽量提高批处理的commit size)
- 修改“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commitsize:1000~50000。
- 尽量使用数据库连接池
- 尽量避免使用update , delete操作,尤其是update,如果可以把update变成先delete, 后insert;
- 能使用truncate table的时候,就不要使用delete all row这种类似sql合理的分区,如果删除操作是基于某一个分区的,就不要使用delete row这种方式(不管是delete sql还是delete步骤),直接把分区drop掉,再重新创建.
- 数据抽取的SQL优化
- 修改链接属性 –此条提升效果比较明显
- useServerPrepStmts=false
- rewriteBatchedStatements=true
- useCompression=true
