Oracle压力测试之orabm
来源:互联网 发布:在家做兼职淘宝客服 编辑:程序博客网 时间:2024/06/10 08:34
一、用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.
TPS 是Transactions Per Second 的 缩 写, 也 就 是 事 务 数/ 秒
tps的计算:每一个阶段所有session的tps相加就是当前测试的总tps了。
- Oracle压力测试之orabm
- oracle压力测试之orabm
- oracle压力测试之orastress!
- 用orabm测试oracle服务器的TPS值
- 用orabm测试oracle服务器的TPS值
- 一个ORACLE性能测试的小工具orabm
- 用orabm测试oracle服务器的TPS值
- 压力测试之http_load
- Jmeter 之 压力测试
- 压力测试之ab测试
- ORACLE压力测试工具orion
- oracle 压力测试工具benchmarksql
- jmeter对oracle压力测试
- 网站压力测试之我见
- 压力测试之apache benchmark
- web压力测试之siege
- Android压力测试之Monkey
- 性能测试之并发压力
- 用CSS制作具有亲和力的表格
- ASP.NET跨页面传值技巧总结
- 一步一步学RMAN第十篇 实战rman恢复(2)恢复到异机
- .Net中的设计模式——从实例谈OOP、工厂模式和重构 http://www.cnblogs.com/wayne-ivan/archive/2006/09/07/496920.html
- 一步一步学RMAN第11篇 rman笔记之综述
- Oracle压力测试之orabm
- I'M BACK!
- 是个什么呀
- J2CA0075W 处理方法 allocateMCWrapper 时应该存在活动的事务
- 2007-9-18的生活
- NUnit学习笔记4--单元测试和项目结合的几种方法(摘录)
- ASP.NET 在线统计的研究
- 判断文件夹是否有了,没有则创建文件夹
- 星期一:今日不宜开会