Oracle压力测试之orabm

发表于:2007-9-20 13:38

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:hailang99    来源:ORACLE专栏

一、用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 
        远程数据库使用: 
        sqlplussystem/pwd@tnsname@orabm_user

2) create the tables 
        这一步主要创建orabm测试需要的表。 
        sqlplus system/pwd @orabm_tab 
        远程数据库使用:
sqlplussystem/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 
        远程数据库使用:
sqlplussystem/pwd@tnsname@orabm_ind

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

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

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

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号