Kettle性能测试Start:2011.03.03Updated:2011.03.06王凡(wangfan)wf141732@sohu.comwoshiwangfan@gmail.com版本修改日期内容1.02011.03.06创建1.简介1.1.环境信息1.2.相关文档《Kettle初探》2.软件准备2.1.23.简单性能测试3.1.建立数据连接建立mySql的连接建立源上的连接33.2.数据库准备建立10个字段,20个字段,50个字段,100个字段的表创建用户--CreatetheusercreateuserefficidentifiedbywangfandefaulttablespaceUSERStemporarytablespaceTEMP;--Grant/Revokeroleprivilegesgrantconnecttoeffic;grantresourcetoeffic;4--Grant/Revokesystemprivilegesgrantcreateviewtoeffic;grantcreatetriggertoeffic;创建表10字段表createtablecol10_tbL(col0number,col1varchar2(10),col2varchar2(20),col3varchar2(30),col4varchar2(40),col5varchar2(50),col6varchar2(60),col7varchar2(70),col8varchar2(80),col9varchar2(90),col10varchar2(100))TABLESPACEUSERS;altertableCOL10_TBLaddconstraintCOL10_TBL_PKprimarykey(COL0)usingindextablespaceUSERS;创建20字段表createtablecol20_tbL(col0number,col1varchar2(10),col2varchar2(20),col3varchar2(30),col4varchar2(40),col5varchar2(50),5col6varchar2(60),col7varchar2(70),col8varchar2(80),col9varchar2(90),col10varchar2(100),col11varchar2(110),col12varchar2(120),col13varchar2(130),col14varchar2(140),col15varchar2(150),col16varchar2(160),col17varchar2(170),col18varchar2(180),col19varchar2(190),col20varchar2(200))TABLESPACEUSERS;altertableCOL20_TBLaddconstraintCOL20_TBL_PKprimarykey(COL0)usingindextablespaceUSERS;依次在建立50字段表和100字段表然后在mysql中建立对应的表createtablecol10_tbL(col0intprimarykey,col1varchar(10),col2varchar(20),col3varchar(30),col4varchar(40),col5varchar(50),col6varchar(60),6col7varchar(70),col8varchar(80),col9varchar(90),col10varchar(100))3.3.建立日志增加捕获3.4.建立数据流转3.5.创建数据创建1000条数据declarev_ctnumber:=1000;beginforiin1..v_ctloopINSERTintocol10_tbl(col0,col1,col2,col3,col4,col5,col6,col7,col8,col9,col10)VALUES(i,lpad(i,1,i),lpad(i,2,i),lpad(i,3,i),lpad(i,4,i),lpad(i,5,i),lpad(i,6,i),7lpad(i,7,i),lpad(i,8,i),lpad(i,9,i),lpad(i,10,i));endloop;end;运行前需要设置生成记录的条数运行的结果如图总共是0.4s,10个字段,1000条数据一万条数据运行效率为10s810万条oracle产生的时间是13.9S,抽取的时间是?,后面速度越来越慢50万的数据在oracle生成的时间是102S3.6.调整优化流程9设置参数10W数据1min30s1050W数据量oracle插入速度是118.53s传输数据是16min7s主要的时间在日志删除上4.资源占用4.1.使用系统信息输入看下面的流向图11由于传输数据采用的是内存处理,50W的数据JVM最大会达到732.17M,最小的时候为151.12M,10字段1K数据会产生1M的内存消耗!5.常见问题5.1.步骤都是并行进行的前面步骤没有运行完,后面就开始运行,导致日志被先删掉!