三、调优
1、调整JVM大小进行性能优化,修改Kettle根目录下的Spoon脚本
参数参考:
-Xmx1024m:设置JVM最大可用内存为1024M
-Xms512m:设置JVM促使内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存
-Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8
-Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右
2、 调整提交(Commit)记录数大小进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commitsize:1000~50000
3、尽量使用数据库连接池
4、尽量提高批处理的commit size
5、尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流)
6、Kettle是Java做的,尽量用大一点的内存参数启动Kettle
7、可以使用sql来做的一些操作尽量用sql ;Group , merge , stream lookup,split field这些操作都是比较慢的,想办法避免他们.,能用sql就用sql
8、插入大量数据的时候尽量把索引删掉
9、尽量避