1. 首页
  2. IT资讯

oracle压力测试之orastress!

orastress主要测试数据库的压力。它可以测试数据库的CPU或者内存的压力(以只读方式),也可以使用包括普通INSERT和直接路径INSERT两种方式测试数据库的I/O能力。orastress只能运行在windows下,但它也可以测试远程服务器的压力。

1、下载下载地址是http://www.linxcel.co.uk/orabm/orastress.zip

2、安装orastress!使用的用户和数据和orabm类似,它的安装方法和orabm也类似。

1) 扩充表空间 orastress!使用orabm用户作为测试用户,orabm用户默认使用tools表空间作为默认表空间,在本测试中要导入10个Warehouses的数据,数据库大概在1G左右,所以,要保证orabm所用的表空间大于1G SQL> alter database datafile ‘E:ORACLEORADATAORACLE9ITOOLS01.DBF’ resize 1500m; 2) 删除orabm用户 如果你的数据库没有orabm用户,则跳过这步 DROP USER ORABM CASCADE;3) 创建用户sqlplus system/pwd @orabm_user远程数据库使用:sqlplus system/pwd@tnsname @orabm_user4) 创建表sqlplus system/pwd @orabm_tab远程数据库使用:sqlplus system/pwd@tnsname @orabm_tab5) 装载数据orabmload Warehouses 10这里装载10个warehouses的数据进行测试。数据量大概在1G左右,执行时间估计在15分钟左右。如果是远程数据库,则先set LOCAL=tnsname然后再执行orabmload6) 创建索引sqlplus system/pwd @orabm_ind远程数据库使用:sqlplus system/pwd@tnsname @orabm_ind7) 分析表和索引sqlplus system/pwd @orabm_analyze远程数据库使用:sqlplus system/pwd@tnsname @orabm_analyze8) 授权连接到目标服务器,以sys执行GRANT EXECUTE ON DBMS_LOCK TO ORABM 9) 创建压力测试插入记录所用的表 sqlplus orabm/orabm @orastress_tab.sql远程数据库使用:sqlplus orabm/orabm@tnsname @orastress_tab.sql10) 创建orastress!用到的包和存储过程创建包:sqlplus orabm/orabm @orastress.plh创建包体:sqlplus orabm/orabm @orastress.plb远程数据库使用:sqlplus orabm/orabm@tnsname @orastress.plhsqlplus orabm/orabm@tnsname @orastress.plb11) 申请注册码经过以上步骤,在oracle的测试环境基本搭建完成,可以使用orastress!开始测试了。但orastress!是共享软件,没有注册只能使用1个并发测试数据库,我们可以申请一个有效期为20天的、功能无限制的试用注册码。申请注册码的步骤是:首先运行D:programeroracle tools压力orastress>”orastress!.exe”Serial: 1274-0B71Licensed to: DEFAULTEvaluation version: 1 session only per database得到的1274-0B71就是序列号(不同的机器有不同的序列号)然后登录http://www.linxcel.co.uk/software_orastress_key.html输入相关信息,邮件地址一定要正确填写,并在最后一个输入框中输入序列号,提交后如果审核通过的话能拿到一个注册码

拿到注册码后运行D:programeroracle tools压力orastress>”orastress!.exe” register在弹出的对话框中填入注册信息即可。

很可惜,到目前位置我还没有能拿到key。

3、使用orastress!可以运行在4种模式下:READ :只读,测试CPU和内存。如果只测试单个实例,效果和orabm一样OLTP :模拟在线事务交易系统测试INS :测试普通insert的I/O压力DIO :测试直接路径insert的I/O压力

orastress!的使用方式是:orastress! –s sess-iterations-list –t transacts-per-sess –c tns-alias-list –m mode [ -s batchsize]其中:sess-iterations-list:并发的个数。如果要测试多种数量的并发数,则多种数量之间用都好分割transacts-per-sess:每个并发执行的事务数tns-alias-list:被测试的实例列表。如果要测试多个实例,则各个实例用逗号分割。mode:运行模式。参看上文。batchsize:可选。在IDS和DIO模式下用到。默认值是1000。在IDS和DIO模式下,插入的记录数达到batchsize就会提交一次。

建议对单节点数据库分别采用1,2,3,5,10个Warehouses进行1,2,4,6,10个并发的50000个事务的测试.对于多节点RAC建议采用1,2,3,5,10个Warehouses进行1,3,4,7,10个并发的50000个事务的测试.

下面的一些运行举例

Example 1:

orastress! –s 1 –t 50000 –c inst1.world –m oltp

Run one iteration – comprising 50000 transactions in 1 session – against inst1.world.进行一组测试,通过一个session,包含50000个事务,对inst1.world数据库进行测试.

Example 2:

orastress! –s 2 –t 50000 –c inst1.world,inst2.world –m oltp

运行一组测试,对两个数据库(inst1.world,inst2.world)各发出两个并发session,每个session运行50000个事务,这两个数据库可以是:. 同一个rac的两个实例. 同一个服务器上不同的实例(非rac). 不同服务器上的不同实例(非rac)

Example 3:

orastress! –s 1,2,4 –t 50000 –c inst1,inst2,inst3,inst4 –m read运行3组测试,分别以1,2,4个并发session对四个实例,各执行50000个事务:

Orastress!的输出结果和orabm类似。

D:programeroracle tools压力orastress>”orastress!.exe” -s 1 -t 100 -c oracle9i -m oltpEvaluation version: 1 session only per database—begin mode=oltp sess=1 txn=100 TNS=oracle9i Thu Sep 21 17:59:06 2006oracle9i#1 w=9 txn(all)=100 xn(sam)=79 t(sam)=12 tps=6.6 d=2(2.5%) n=34(43%) o=8(10.1%) p=33(41.8%) s=2(2.5%) end=210906-17:59:22—end – Thu Sep 21 17:59:22 2006

D:programeroracle tools压力orastress>”orastress!.exe” -s 1 -t 1000 -c oracle9i -m oltpEvaluation version: 1 session only per database—begin mode=oltp sess=1 txn=1000 TNS=oracle9i Fri Sep 22 10:07:49 2006oracle9i#1 w=2 txn(all)=1000 xn(sam)=799 t(sam)=65 tps=12.3 d=40(5%) n=304(38%)o=39(4.9%) p=385(48.2%) s=31(3.9%) end=220906-10:09:27—end – Fri Sep 22 10:09:27 2006

这个测试比较缓慢,大家在测试的时候要给点耐性。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/231499/viewspace-63732/,如需转载,请注明出处,否则将追究法律责任。

主题测试文章,只做测试使用。发布者:布吉卡,转转请注明出处:http://www.cxybcw.com/195725.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code