当前所在位置:珠峰网资料 >> 计算机 >> Oracle认证 >> 正文
Oracle认证考试辅导:Oracle压力测验之orabm
发布时间:2010/3/15 16:27:05 来源:城市学习网 编辑:MOON
  近日浏览eygle的站点,对其中压力测试的专题很有兴趣,于是 多方参考文档后实践了一把,过程记录如下
  数据库压力测试
  一、用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
  第一步是创建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了。
广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved