Oracle压力测试之orabm

原创 2007年09月18日 17:40:00

一、用orabm测试数据库CPU

Orabm通过在用户指定的并发下运行指定数量的事务来测试系统性能.它主要测试数据库服务器的CPU性能和内存。
orabm实际上是一堆sql的集合。
orabm可以用在linux/windows/solaris下使用。
orabm不一定需要运行在数据库所在服务器上,它可以运行在任何安装了9i客户端的终端上。你可以用客户端连接到远程数据库来测试远程数据库的性能状况。

因为orabm主要测试的是CPU和内存,所以应该尽量避免其他因素影响测试,故使用orabm时,为了更好的测试CPU和内存的性能,最好把db_cache_size设成大于200M,这样,所有的数据都可以放在内存中,不会因为物理I/O而使得测试不准确。使用orabm的一个步骤就是把所有的表和索引都放到data buffer中。
1、下载软件
orabm是测试CPU得http://www.linxcel.co.uk/orabm/orabm.tar

2、安装
安装主要分7个步骤,分别对应6个sql脚本和一个导入数据的小工具。如下所有脚本除第一个必须用拥有dba权限的用户执行外,其他的都可以用新建orabm用户执行。为了避免麻烦,最好都用system或者sys运行

1) create the ORABM user (assumes TOOLS tablespace, TEMP temporary tablespace)
第一步是创建orabm用户,并作相应授权。注意,默认情况下,orabm用户的默认表空间是tools,临时表空间是temp。导入一个Warehouses的数据量大概是100M,所以,你应该保证tools表空间大于150m,或者新建一个表空间,然后修改orabm_user.sql里的相关信息。
sqlplus system/pwd @orabm_user
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_user

2) create the tables
这一步主要创建orabm测试需要的表。
sqlplus system/pwd @orabm_tab
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_tag

3) Load the data
导入测试所需的数据(orabmload在OS的对应版本的bin目录下)
$ orabmload Warehouses 1
远程数据库使用:
如果要测试的是远程数据库的话,
windows需要先set local=tnsname,tnsname是在tnsname.ora中配置的远程数据库的别名。
UNIX/LIINUX,需要先TWO_TASK=tnsname
$ orabmload Warehouses 1

4) create the indexes
这一步创建索引
sqlplus system/pwd @orabm_ind
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_ind

5) analyze the tables and indexes
分析表和索引
sqlplus system/pwd @orabm_analyze
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_analyze

6) create the stress-test PL/SQL procedures
创建压力测试所需的存储过程
sqlplus system/pwd @orabm_serverside_stress
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_serverside_stress

7) cache the table and index data in the SGA
把表和索引都放到SGA中,原因在上文已经介绍了。
sqlplus system/pwd @orabm_cache
远程数据库使用:
sqlplus system/pwd@tnsname @orabm_cache

执行完这7个步骤,orabm的测试环境就算配置完成了。

3、测试
现在我们就可以进行测试了。设置好ORACLE_SID,然后进入到OS对应的版本的bin目录下:
如果测试本地数据库:
$ orabm 1 20000

如果测试远程数据库,则执行
C:> orabm 1 20000 tnsname
注意不要加"@"

orabm后接2个参数(如果测试远程的压力则接三个参数)。
第一个参数表示测试多少个并发(对应多个session)
第二个参数表示执行多少个事务(注意:不是所有的并发共执行多少事务,而是每个并发执行的事务数),一般来说,这个值设置为10000
第三个参数是在测试远程数据库的时候用的,值为tnsnames.ora配置的远程数据库连接的别名

orabm 2 1000
表示用2个并发执行1000个事务

orabm 1,2,6,10 1000
表示分别用1、2、6、19个并发执行1000个事务

执行的结果会打印在屏幕上,同时写到orabm所在目录的orabm..log。如果执行多次,则多次的执行结果都会追加到orabm..log中。

TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒
tps的计算:每一个阶段所有session的tps相加就是当前测试的总tps了。

Oracle 11g内置的IO测试包

Oracle 11g内置的IO测试包 这两天部门有个同事上新系统, 感觉Orion进行压力测试比较麻烦, 我印象中, Oracle 11g引入了一个进行IO压力测试的包, 具体的过程名包含C...
  • haiross
  • haiross
  • 2014年01月03日 10:01
  • 2775

性能测试工具操作数据库(二)-Loadrunner与oracle

性能测试工具操作数据库连载二,本章节以loadrunner操作oracle为例,可以实现loadrunner批量插入、更新、查询、删除oracle数据库。...
  • smooth00
  • smooth00
  • 2017年03月28日 09:31
  • 6817

【转】Orion - oracle提供的测试io性能的工具

Orion是oracle提供的测试io性能的工具。它可以用来模拟Oracle数据库IO,也可以用来仿 真ASM的条带化的功能。 Orion可以支持下列IO负载 1. 小的随机的IO:OLTP的应用...
  • lovedieya
  • lovedieya
  • 2014年03月10日 22:08
  • 2148

OATS初探,oracle性能,压力测试工具

  • 2011年11月17日 11:22
  • 2.22MB
  • 下载

ORACLE压力测试工具orion

1,功能简介 ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结果对于了解存储系统的性能有很大帮助,不...
  • hijk139
  • hijk139
  • 2012年06月29日 15:41
  • 1301

使用swingbench实现oracle数据库压力测试

即将上线的数据库如何来评估其性能呢,swingbench是除了Benchmark Factory for Databases的不二之选,可以用短小精悍来形容,而且完全免费,也不用成天到晚google注...
  • robinson_0612
  • robinson_0612
  • 2012年11月16日 16:53
  • 13872

jmeter对oracle压力测试

下载Oracle的jdbc数据库驱动包,注意Oracle数据库的版本,这里使用的是:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 ...
  • hanghangaidoudou
  • hanghangaidoudou
  • 2016年10月07日 19:25
  • 927

JMeter对Oracle数据库进行压力测试

http://blog.csdn.net/lianggzone/article/details/12560029             JMeter对Oracle数据库进行压力测试      ...
  • wuxiaobingandbob
  • wuxiaobingandbob
  • 2013年10月12日 13:00
  • 1020

oracle数据库监控与压力测试方法

oracle数据库监控与压力测试方法
  • wh0426
  • wh0426
  • 2015年03月28日 14:15
  • 475

利用Orion对Oracle进行压力测试

一. ORION 概述 1.1 ORION 说明 ORION (Oracle I/O Calibration Tool) 是校准用于 Oracle 数据库的存储系统 I/O 性能的独立工具。校准结...
  • hzhvv
  • hzhvv
  • 2016年06月22日 17:26
  • 186
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle压力测试之orabm
举报原因:
原因补充:

(最多只允许输入30个字)