【Kettle从零开始】第十一弹之Kettle性能调优介绍
来源:互联网 发布:java编程思想 豆瓣 编辑:程序博客网 时间:2024/06/04 15:16
性能高优在整个工程中是非常重要的,也是非常有必要的。但有的时候我们往往都不知道如何对性能进行调优。其实性能调优主要分两个方面:一方面是硬件调优,一方面是软件调优。本弹主要是介绍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。
(图11.0)
3、 调整记录集合里的记录数
(图11.1)
4、 调整SQL查询脚本是否走索引(非常关键性的优化),这里我就不多讲关于SQL脚本优化。
以上几点是我使用Kettle这几年的对性能方面优化总结,可提供给大家进行参考。
- 【Kettle从零开始】第十一弹之Kettle性能调优介绍
- 【Kettle从零开始】第一弹之Kettle简单介绍
- 【Kettle从零开始】第二弹之Kettle文件夹与界面介绍
- 【Kettle从零开始】第八弹之Kettle变量参数传递介绍
- 【Kettle从零开始】第九弹之Kettle定时任务介绍
- 【Kettle从零开始】第十弹之Kettle运行日志介绍
- 【Kettle从零开始】第八弹之Kettle变量参数传递介绍
- 【Kettle从零开始】第七弹之Kettle作业中常用组件介绍
- 【Kettle从零开始】第五弹之Kettle转换中常用组件介绍
- 【Kettle从零开始】第三弹之Kettle数据源连接配置
- 【Kettle从零开始】第四弹之Kettle转换数据抽取使用
- 【Kettle从零开始】第六弹之Kettle作业流程使用
- 【Kettle从零开始】第十二弹之Kettle在Linux下搭建
- Kettle性能调优汇总
- kettle sqlserver mysql ETL性能调优
- kettle介绍
- kettle介绍
- kettle介绍
- busybox for openwrt 12.09 rc1(ls支持中文 )
- Android Service学习之IntentService 深入分析
- Struts1和Struts2的区别和对比(完整版)
- 1050. String Subtraction
- Nginx配置文件nginx.conf中文详解
- 【Kettle从零开始】第十一弹之Kettle性能调优介绍
- Android 开发之使用Eclipse Debug调试详解
- apache 设置IP访问、配置apache虚拟域名、Apache 配置二级域名、php 配置 curl
- android 后台任务的最佳实现1——Service
- FileSystemWatcher判断文件复制完成
- 1027. Colors in Mars
- fzu 2124
- error:2014-03-11周二:在编写win32程序时依旧使用控制台程序。
- Android 游戏引擎