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了。
分享到:
相关推荐
以下是TPCC-MYSQL的安装过程及使用方法的详细介绍。 安装 ---- 首先,需要从GitHub上下载TPCC-MYSQL的源代码,并将其解压缩到本地目录中。然后,使用make命令编译生成可执行文件tpcc_load和tpcc_start。 使用 ---...
7. **基准测试**:使用tpcc-mysql执行测试,监控并记录吞吐量、响应时间、并发用户数等指标,以评估系统性能。这可能需要多次运行并调整参数以找到最佳性能点。 8. **结果分析**:收集到测试结果后,分析各项性能...
tpcc-mysql的使用不仅限于MySQL,它也可以作为一种评估其他数据库系统在TPC-C场景下性能的方法。通过对MySQL的深入测试,我们可以更好地理解其在高并发、大数据量环境下的行为,为数据库的选型、调优提供有力支持。 ...
《tpcc-mysql在Linux环境下的使用指南》 "tpcc-mysql"是一个基于MySQL数据库实现的TPC-C(Transaction Processing Performance Council C)基准测试工具。TPC-C是业界广泛采用的一种衡量数据库在线事务处理(OLTP)...
sysbench-tpcc-2.1.tar.gzsysbench-tpcc-2.1.tar.gzsysbench-tpcc-2.1.tar.gzsysbench-tpcc-2.1.tar.gzsysbench-tpcc-2.1.tar.gzsysbench-tpcc-2.1.tar.gz
针对这个场景,MySQL社区开发了一个名为TPCC-Mysql的工具,用于对MySQL数据库进行压力测试。这篇文档将详细讲解如何安装TPCC-Mysql以及如何进行Mysql的压力测试。 首先,我们需要了解TPCC-Mysql的基本概念。TPCC-...
tpcc-hbase tpcc-hbase是在Domino上运行的tpcc基准。 传统的tpcc基准测试仅支持RDBMS和SQL接口。 tpcc-hbase支持Domino的键值接口。 任何问题请与我联系:
TPCC-MYSQL是由percona发布一个用来测试数据库的压力...make make命令会在tpcc-mysql目录下生成tpcc命令行工具tpcc_load,tpcc_start tpcc_load提供初始化数据的功能 tpcc_start进行压力测试 [root@mysql-centos
自己动手测试的,然后总结的! 是查阅很多资料后总结! linux下的tpcc测试
#测试影响Mysql性能的关键指标 ##目的: 测试各种关键因素对Mysql性能有多少影响 测试硬件: DELL CS24–SC 服务器 八核dell服务器 CPU Intel(R) Xeon(R) CPU L5420 @ 2.50GHz ...如无特殊说明,tpcc-mysql的参数是: w
在进行TPCC(Transaction Processing Performance Council C基准)事务性能基准测试时,MongoDB 的表现是评估其作为数据库解决方案的关键因素。以下是一些关于MongoDB性能优化和特性的重要知识点: 1. **数据模型**...
在使用Tpcc-mysql进行基准测试后,根据测试结果,可以对MySQL服务器进行一系列优化,包括但不限于: 1. 参数调优:调整innodb_buffer_pool_size、max_connections、thread_cache_size等MySQL配置参数。 2. 索引优化...
在实际使用TPCCRunner-1.2时,你需要配置数据库连接信息、定义仓库数量(warehouses)、交易比例以及其他相关参数。然后,工具将生成模拟用户进行并发交易,监控并记录各种性能指标,如每分钟新订单交易数(tpmC)、...
使用tpch-mysql-master进行性能测试的步骤大致如下: 1. **安装与配置**:首先,你需要解压tpch-mysql-master.zip文件,然后根据提供的文档配置MySQL服务器,包括设置合适的存储引擎、索引策略等。 2. **生成数据*...
对于Macbook,如果已经安装了brew,则可以使用brew安装它并开始在本地计算机上运行数据库: brew install mysql@5.7brew services start mysql@5.7对于PC,请按照指南安装Mysql 5.7: : 安装数据库时,为root用户...
- 基于时间点的备份:使用binlog进行增量备份,实现任意时间点的数据恢复。 - 全量与增量备份:定期全量备份结合日志备份,平衡备份速度和恢复速度。 - 快照备份:在支持的存储系统上创建数据卷快照,快速恢复...
服务器 TPCC 值计算方法 服务器 TPCC 值计算方法是根据 TPC-C 的标准计算服务器的性能,TPC-C 值是根据标准模型中 New-Order 事务的处理数目来计算的。TPC-C 值计算公式为:TPMC 值 = (用户数 x 事务数) / (处理...
如何对服务器性能计算的公式参考(TPMC-TPCC)...doc