【Kettle从零开始】第十一弹之Kettle性能调优介绍
2014-03-11 18:23
148 查看
性能高优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优。其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优。本弹主要是介绍Kettle工具性能调优。
关于Kettle性能调优方法有以下几点:
1、
调整JVM大小进行性能优化,修改Kettle定时任务中的Kitchen与Pan脚本中。
2、
调整提交(Commit)记录数大小进行优化
如修改RotKang_Test01中的“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commit
size:1000~50000。
![](http://img.my.csdn.net/uploads/201403/11/1394533418_4590.jpg)
(图11.0)
3、
调整记录集合里的记录数
![](http://img.my.csdn.net/uploads/201403/11/1394533418_8783.jpg)
(图11.1)
4、
调整SQL查询脚本是否走索引(非常关键性的优化),这里我就不多讲关于SQL脚本优化。
以上几点是我使用Kettle这几年的对性能方面优化总结,可提供给大家进行参考。
关于Kettle性能调优方法有以下几点:
1、
调整JVM大小进行性能优化,修改Kettle定时任务中的Kitchen与Pan脚本中。
修改脚本代码片段 |
REM ****************************************************************** REM ** Set java runtime options ** REM ** Change 512m to higher values in case you run out of memory. ** REM ****************************************************************** set OPT=-Xmx512m -cp %CLASSPATH% -Djava.library.path=libswt\win32\ -DKETTLE_HOME="%KETTLE_HOME%" -DKETTLE_REPOSITORY="%KETTLE_REPOSITORY%" -DKETTLE_USER="%KETTLE_USER%" -DKETTLE_PASSWORD="%KETTLE_PASSWORD%" -DKETTLE_PLUGIN_PACKAGES="%KETTLE_PLUGIN_PACKAGES%" -DKETTLE_LOG_SIZE_LIMIT="%KETTLE_LOG_SIZE_LIMIT%" |
参数参考: -Xmx1024m:设置JVM最大可用内存为1024M。 -Xms512m:设置JVM促使内存为512m。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 -Xmn2g:设置年轻代大小为2G。整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 -Xss128k:设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。在相同物理内存下,减小这个值能生成更多的线程。但是操作系统对一个进程内的线程数还是有限制的,不能无限生成,经验值在3000~5000左右。 |
样例:OPT=-Xmx1024m -Xms512m |
2、
调整提交(Commit)记录数大小进行优化
如修改RotKang_Test01中的“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commit
size:1000~50000。
![](http://img.my.csdn.net/uploads/201403/11/1394533418_4590.jpg)
(图11.0)
3、
调整记录集合里的记录数
![](http://img.my.csdn.net/uploads/201403/11/1394533418_8783.jpg)
(图11.1)
4、
调整SQL查询脚本是否走索引(非常关键性的优化),这里我就不多讲关于SQL脚本优化。
以上几点是我使用Kettle这几年的对性能方面优化总结,可提供给大家进行参考。
相关文章推荐
- 【Kettle从零开始】第十弹之Kettle运行日志介绍
- 【Kettle从零开始】第一弹之Kettle简单介绍
- 【Kettle从零开始】第十二弹之Kettle在Linux下搭建
- 【Kettle从零开始】实例下载
- 【Kettle从零开始】第二弹之Kettle文件夹与界面介绍
- 【Kettle从零开始】第三弹之Kettle数据源连接配置
- 【Kettle从零开始】第四弹之Kettle转换数据抽取使用
- 【Kettle从零开始】第五弹之Kettle转换中常用组件介绍
- 【Kettle从零开始】第六弹之Kettle作业流程使用
- 【Kettle从零开始】第七弹之Kettle作业中常用组件介绍
- 【Kettle从零开始】第八弹之Kettle变量参数传递介绍
- 【Kettle从零开始】第八弹之Kettle变量参数传递介绍
- 【Kettle从零开始】第九弹之Kettle定时任务介绍
- Android从零开始
- 使用kettle工具将文本文件的内容插入Linux虚拟机下的mysql表中
- kettle入门(一) 之kettle连接oracle rac 报listener does not currently know of sid错误的解决
- java调用kettle_实现(2)
- 第18章、基于监听器的事件处理(从零开始学Android)
- C语言第十一回合:预处理命令的集中营
- 从零开始学android<Bitmap图形组件.四十七.>