Orabm简介
Orabm实际上是一堆sql的集合,通过在用户指定的并发下运行指定数量的事务来测试系统性能.它主要测试数据库服务器的CPU性能和内存。
Orabm通过在每个用户指定的并发数据库会话(session) 中运行用户执行数量的数据库事务来进行工作.事务通过ORABM模式下的ORABM_SERVERSIDE_STRESS存储过程运行。对每个并发会话来说,ORABM_SERVERSIDE_STRESS运行在orabm命令行下指定的事务数,并返回该会话在采样间隔完成时的TPS值.要确保所有并发会话都是在采样间隔期间处理事务,TPS值仅包括事务的中间的80%,初始的10%和最后的 10%将忽略掉。
Orabm使用环境
可以用在linux/windows/solaris下使用。Orabm不一定需要运行在数据库所在服务器上,它可以运行在任何安装了9i客户端的终端上。你可以用客户端连接到远程数据库来测试远程数据库的性能状况。
Orabm安装
1. 首先,在服务器上安装oracle 9i server版。Oracle 9i的安装方法此处略过。需注意的是,因为orabm主要测试的是CPU和内存,所以应该尽量避免其他因素影响测试,故为了更好的测试CPU和内存的性能,在建库时,最好将数据库缓存大小设成大于200M,这样,所有的数据都可以放在内存中,不会因为物理I/O而使得测试不准确。
注:Orabm只支持oracle 9i及之前版本。10g和11g不支持。
2. Orabm安装文件的下载地址:http://www.linxcel.co.uk/orabm/orabm.tar
3. 解压tar包
tar -xvf orabm.tar
得到以下文件和文件夹
bin install orabm.htm orabm.pdf orabm_files src
进入install文件夹,有以下一些sql文件
orabm_analyze.sql orabm_ind.sql orabm_serverside_stress.sql orabm_tab_rm.sql orabm_cache.sql orabm_query_cache.sql orabm_tab.sql orabm_user.sql
4. 假定数据库system用户的密码为pwd,数据库全局服务名为tnsname。
具体安装步骤如下:
#
|
Operation
|
Command
|
1
|
create the ORABM user (assumes TOOLS tablespace, TEMP temporary tablespace)
|
sqlplus system/pwd @orabm_user
|
2
|
create the tables
|
sqlplus system/pwd @orabm_tab
|
3
|
load the data
|
$ orabmload Warehouses n
|
4
|
create the indexes
|
sqlplus system/pwd @orabm_ind
|
5
|
analyze the tables and indexes
|
sqlplus system/pwd @orabm_analyze
|
6
|
Ensure ORABM can run the DBMS_LOCK package
|
As SYS run:
GRANT EXECUTE ON DBMS_LOCK TO ORABM
|
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
5. 至此安装完成。
使用orabm进行测试
现在我们就可以进行测试了。设置好测试数据库的ORACLE_SID环境变量,然后进入到bin目录下对应的OS目录(有linux,windows,solaris三个目录):
如果测试本地数据库:
$ orabm 1 20000
如果测试远程数据库,则执行
$ orabm 1 20000 tnsname
注意不要加"@"
orabm后接2个参数(如果测试远程的压力则接三个参数)。
第一个参数表示测试多少个并发(对应多个session)
第二个参数表示执行多少个事务(注意:不是所有的并发共执行多少事务,而是每个并发执行的事务数)
第三个参数是在测试远程数据库的时候用的,值为tnsnames.ora配置的远程数据库连接的别名
orabm 2 1000
表示用2个并发执行1000个事务
orabm 1,2,6,10 1000
表示分别用1、2、6、19个并发执行1000个事务
执行的结果会打印在屏幕上,同时写到orabm所在目录的orabm.<oracle_sid>.log。如果执行多次,则多次的执行结果都会追加到orabm.<oracle_sid>.log中。
输出结果示例:
---begin sess=1 txn=20000 ORACLE_SID=antispam Sat Aug 14 09:28:41 2010
ANTISPAM.US.ORACLE.COM txn(all)=20000 xn(sam)=15999 t(sam)=139 tps=115 sl=7904(49.4%) on=4860(30.4%) oi=3235(20.2%) end=140810-09:31:48
---end - Sat Aug 14 09:31:48 2010
---begin sess=2 txn=20000 ORACLE_SID=antispam Sat Aug 14 09:31:48 2010
ANTISPAM.US.ORACLE.COM txn(all)=20000 xn(sam)=15999 t(sam)=248 tps=65 sl=8114(50.7%) on=4828(30.2%) oi=3057(19.1%) end=140810-09:36:58
ANTISPAM.US.ORACLE.COM txn(all)=20000 xn(sam)=15999 t(sam)=249 tps=64 sl=8023(50.1%) on=4731(29.6%) oi=3245(20.3%) end=140810-09:36:59
---end - Sat Aug 14 09:36:59 2010
结果分析
输出结果的说明:
txn(all)----代表Total transaction Count,总的事务数量.
xn(sam)-----采样的事务数量
t(sam)------采样事务运行的时间.
TPS是Transactions Per Second的缩写,也就是事务数/秒
tps的计算:每一个阶段所有session的tps相加就是当前测试的总tps了。
对于以上输出,在2个并发下,TPS值为65+64=129
为了保证准确性,TPS值只取中间的80%数据,头尾的10%都将被忽略.
sl=8114(50.7%) on=4828(30.2%) oi=3057(19.1%)的含义:
事务是松散的,基于标准的TPC-C测试的订单、库存事务模型,使用预定义的事务分布.
Stock-Level:Order-by-Customer-Name:Order-by-Customer-Id比例为50% :30% :20%
为了确保事务分布的正确性,ORABM_SERVERSIDE_STRESS的输出包含事务分割比例,输出结果具有随机波动,例如
sl=8114(50.7%) on=4828(30.2%) oi=3057(19.1%)
我们可以用orabm提供的脚本orabm_tps.sh格式化输出结果(linux下正常使用,windows下要安装一些linux加强工具):
orabm_tps.sh orabm.oracle9i.log
ORACLE_SID=oracle9i sess=1 tps=500
ORACLE_SID=oracle9i sess=3 tps=576
ORACLE_SID=oracle9i sess=1 tps=533
ORACLE_SID=oracle9i sess=2 tps=572
ORACLE_SID=oracle9i sess=6 tps=586
ORACLE_SID=oracle9i sess=10 tps=609
ORACLE_SID=oracle9i sess=15 tps=620
ORACLE_SID=oracle9i sess=20 tps=610
ORACLE_SID=oracle9i sess=25 tps=631
ORACLE_SID=oracle9i sess=30 tps=632
并非并发数越多,tps就越大,有时候随着并发的增多,tps反而减小。
如果发现随着并发的增大,tps并没有明显增加,或者反而减小了,则说明已经到了系统的瓶颈了。这个临界点可以看作是系统的所能承受最大tps了。
分享到:
相关推荐
摘 要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本科研工作量管理系统就是在这样的大环境下诞生,其可以帮助管理者在短时间内处理完毕庞大的数据信息,使用这种软件工具可以帮助管理人员提高事务处理效率,达到事半功倍的效果。此科研工作量管理系统利用当下成熟完善的SSM框架,使用跨平台的可开发大型商业网站的Java语言,以及最受欢迎的RDBMS应用软件之一的Mysql数据库进行程序开发。实现了用户在线选择试题并完成答题,在线查看考核分数。管理员管理字典管理、工作量管理、科研获奖管理、科研论文管理、秘书管理、科研项目管理、教师管理、管理员管理等功能。科研工作量管理系统的开发根据操作人员需要设计的界面简洁美观,在功能模块布局上跟同类型网站保持一致,程序在实现基本要求功能时,也为数据信息面临的安全问题提供了一些实用的解决方案。可以说该程序在帮助管理者高效率地处理工作事务的同时,也实现了数据信息的整体化,规范化与自动化。 关键词:科研工作量管理系统;SSM框架;Mysql;自动化
基于遗产算法的多目标分布式电源选址定容 以投资成本、网络损耗和系统电压稳定性为目标实现分布式电源选址定容,通过IEEE33节点系统进行仿真验证,结果如下图所示
jh_flutter_demo.apk
windows jdk 8 ,jdk 11, jdk 17
图表分类ppt
图表分类ppt
C# 进程间通信所需Dll
项目资源包含:可运行源码+sql文件+ 源码都是精心调试,,可以部署,有费用,谢谢支持。 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 有任何使用上的问题,欢迎随时与博主沟通,博主看到后会第一时间及时解答。 开发语言:Java 框架:SpringBoot 技术:Vue JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 系统是一个很好的项目,结合了后端服务(SpringBoot)和前端用户界面(Vue.js)技术,实现了前后端分离。
图表分类ppt
资源描述: HTML5实现好看的别墅估价公司网站源码,好看的别墅估价公司网站源码,酷炫的别墅估价公司网站源码模板,HTML酷炫的别墅估价公司网站源码,内置酷炫的动画,界面干净整洁,页面主题,全方位介绍内容,可以拆分多个想要的页面,可以扩展自己想要的,注释完整,代码规范,各种风格都有,代码上手简单,代码独立,可以直接运行使用。也可直接预览效果。 资源使用: 点击 index.html 直接查看效果
图表分类ppt
1_6020222704吕锡振-实验五代码.ipynb
对比关系-关系图表-清新时尚 -3
# PHP、MySQL实训心得体会 在本次PHP与MySQL的实训过程中,我深入学习了Web开发的关键技术,并通过实践巩固了理论知识。以下是我对实训内容的总结与反思。 ## 一、学习内容 ### (一)经典案例分析 在实训中,我们通过一个简单的对话框案例来理解JavaScript与PHP的交互。以下是案例代码: ```javascript function dialog() { var dialog = artDialog({ title: 'Hello World!', content: '<img src="1.jpg" width="510" height="339" />' }); dialog.lock(); } ``` 此案例展示了如何使用`artDialog`库创建一个带有图片的对话框。通过这个案例,我学会了如何在Web页面中嵌入JavaScript代码来实现动态效果。 ### (二)PHP基本语法 1. **运算类型介绍与应用** PHP中的运算遵循基本的数学运算规则,即从左到右计算,先乘除
项目资源包含:可运行源码+sql文件+文档 源码都是精心调试,有文档,可以部署,有费用,谢谢支持。 适用人群:学习不同技术领域的小白或进阶学习者;可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 项目具有较高的学习借鉴价值,也可拿来修改、二次开发。 有任何使用上的问题,欢迎随时与博主沟通,博主看到后会第一时间及时解答。 开发语言:Java 框架:SpringBoot 技术:Vue JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/myeclipse/idea Maven包:Maven3.3.9 系统是一个很好的项目,结合了后端服务(SpringBoot)和前端用户界面(Vue.js)技术,实现了前后端分离。
ABAQUS橡胶阻尼器仿真案例
1218095458092101.7.6.apk
图表分类ppt
图表分类ppt
金字塔-关系图表-活泼清新-3