测试平台: RHEL4.8 x8_64 + Oracle Database 10.2.0.4
1) 工具描述
orabm是一个开源的系统CPU性能测试工具, 包含了一套SQL脚本和几个命令行程序. Orabm通过在用户指定的并发下运行指定数量的事务来测试数据库的TPS值. TPS是Transactions Per Second的缩写, 也就是事务数/秒, 它是软件测试结果的测量单位. 一个事务是指一个客户机向服务器发送请求然后服务器做出反应的过程. 客户机在发送请求时开始计时, 收到服务器响应后结束计时, 以此来计算使用的时间和完成的事务个数, 最终利用这些信息来估计得分.
2) 下载安装
下载地址: http://www.linxcel.co.uk/orabm/orabm.tar
$ cd /orahome/wangnc/os/
$ rz
$ tar xvf orabm.tar
$ cd install
$ ls
orabm_analyze.sql orabm_cache.sql orabm_ind.sql orabm_query_cache.sql orabm_serverside_stress.sql orabm_tab_rm.sql orabm_tab.sql orabm_user.sql _vti_cnf
注意: 缺省的orabm测试用用户会建立在tools表空间, 如果想把数据放在其他表空间可以修改orabm_user.sql来调整.
$ vi orabm_user.sql
$ sqlplus / as sysdba @orabm_user.sql
$ sqlplus / as sysdba @orabm_tab.sql
$ export LD_LIBRARY_PATH=$ORACLE_HOME/lib32:$LD_LIBRARY_PATH
$ chmod u+x ../bin/linux/orabmload.10g.linux
$ ../bin/linux/orabmload.10g.linux Warehouses 1
$ sqlplus / as sysdba @orabm_ind.sql
$ sqlplus / as sysdba @orabm_analyze.sql
$ sqlplus / as sysdba @orabm_serverside_stress.sql
$ sqlplus / as sysdba @orabm_cache.sql
3) 简单测试
orabm后接2个参数(如果测试远程的压力则接三个参数), 第一个参数表示测试多少个并发(对应多个session), 第二个参数表示执行多少个事务(不是所有的并发共执行多少事务,而是每个并发执行的事务数), 一般来说这个值设置为10000, 第三个参数是在测试远程数据库的时候用的, 值为tnsnames.ora配置的远程数据库连接的别名.
$ cd ../bin/linux/
$ chmod u+x orabm.10g.linux
$ ./orabm.10g.linux 1 10000
---begin sess=1 txn=10000 ORACLE_SID=ESUITE Tue Jul 14 13:36:18 2009
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=3 tps=2666 sl=3980(49.8%) on=2367(29.6%) oi=1652(20.7%) end=140709-13:36:23
---end - Tue Jul 14 13:36:23 2009
输出结果的说明:
txn(all)----代表Total transaction Count, 总的事务数量
xn(sam)-----采样的事务数量
t(sam)------采样事务运行的时间
tps的计算: 每一个阶段所有session的tps相加就是当前测试的总tps了.
执行的结果会打印在屏幕上, 同时会生成一个orabm.${ORACLE_SID}.log的文件, 该文件内容是累加的. 如果所有的测试表和相关索引都已经Cache到内存中, 系统上没有其他任务运行, 那么可以看到单个Orabm Session会使用将近100%的CPU资源. 可以使用Top来查看CPU使用情况, 或者检查数据库中不存在"db file sequential read"等待事件.
4) 测试用例
对本地数据库进行三个阶段测试, 分别以1,2,6个并发执行10000个事务:
$ ./orabm.10g.linux 1,2,6 10000
---begin sess=1 txn=10000 ORACLE_SID=ESUITE Tue Jul 14 13:38:47 2009
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=3 tps=2666 sl=3883(48.5%) on=2498(31.2%) oi=1618(20.2%) end=140709-13:38:52
---end - Tue Jul 14 13:38:52 2009
---begin sess=2 txn=10000 ORACLE_SID=ESUITE Tue Jul 14 13:38:52 2009
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=4 tps=2000 sl=4004(50.1%) on=2370(29.6%) oi=1625(20.3%) end=140709-13:38:56
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=4 tps=2000 sl=3989(49.9%) on=2435(30.4%) oi=1575(19.7%) end=140709-13:38:56
---end - Tue Jul 14 13:38:56 2009
---begin sess=6 txn=10000 ORACLE_SID=ESUITE Tue Jul 14 13:38:56 2009
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=3 tps=2666 sl=4054(50.7%) on=2375(29.7%) oi=1570(19.6%) end=140709-13:39:01
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=4 tps=2000 sl=4003(50%) on=2380(29.8%) oi=1616(20.2%) end=140709-13:39:02
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=4 tps=2000 sl=3903(48.8%) on=2423(30.3%) oi=1673(20.9%) end=140709-13:39:02
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=5 tps=1600 sl=4010(50.1%) on=2426(30.3%) oi=1563(19.5%) end=140709-13:39:03
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=6 tps=1333 sl=4036(50.5%) on=2413(30.2%) oi=1550(19.4%) end=140709-13:39:04
ESUITE.LK txn(all)=10000 xn(sam)=7999 t(sam)=6 tps=1333 sl=4017(50.2%) on=2381(29.8%) oi=1601(20%) end=140709-13:39:04
---end - Tue Jul 14 13:39:04 2009
其实从上面的运行结果中已经差不多可以看出TPS的值了, 把并发session的TPS值相加即可. 不过orabm程序包中有一个格式化输出结果的SHELL脚本, 可以看得更加清楚:
$ cd ..
$ ./orabm_tps.sh linux/orabm.$ORACLE_SID.log
ORACLE_SID=ESUITE sess=1 tps=2286
ORACLE_SID=ESUITE sess=1 tps=2286
ORACLE_SID=ESUITE sess=1 tps=2000
ORACLE_SID=ESUITE sess=2 tps=5332
ORACLE_SID=ESUITE sess=6 tps=10133
5) 删除orabm
$ sqlplus / as sysdba
SQL> drop user orabm cascade;
--End--
相关推荐
在这种情况下,可以通过已知的性能增长比例来估算不同CPU数量下的TPMC值。 总的来说,服务器的TPMC值计算是一个复杂的过程,涉及到系统架构、硬件性能、数据库效率和成本效益分析等多个方面。正确评估TPMC值对于...
- **测试方法**:使用LoadRunner作为主要性能测试工具,辅助工具包括截图工具、Word和监控系统工具。测试过程中所有用户登录无权限限制。 5. **测试结果与分析**: - **响应时间**:随着并发用户数增加,响应时间...
在做db基准测试的时候,qps,tps 是衡量数据库性能的关键指标。本文比较了网上的两种计算方式。先来了解一下相关概念。 概念介绍: QPS:Queries Per Second 查询量/秒,是一台服务器每秒能够相应的查询次数,是对...
- **提高TPS**:可以通过减少RT来实现,这通常需要对服务器配置进行优化和提高应用程序的响应速度。同样地,当Vuser固定时,通过优化系统来降低RT也可以提升TPS。 - **优化RT**:可以通过改善服务器配置和增强应用...
- **服务器性能**:使用如top、iometer和iperf等工具来监测服务器的CPU、内存和网络性能。 - **APP性能**:Android系统使用Android Studio内置的APT工具,iOS系统使用Instruments和Activity Monitor监控进程资源...
性能测试模型,如PV计算模型、PV->TPS转换模型、TPS波动模型以及共享中心性能测试模型和前端页面性能测试模型,都是为了更准确地模拟和预测系统性能而构建的。这些模型有助于测试人员深入理解系统行为,并以此为基础...
- 测试工具:列举用于性能测试的工具,如JMeter、LoadRunner、 Gatling等,以及它们的主要功能。 - 测试方法:描述采用的测试策略,包括负载测试、压力测试、稳定性测试等。 - 测试环境: - 硬件环境:列出...
**2.1 压力测试**:通过模拟超出正常工作范围的负载来测试系统的极限承载能力,检测系统在极端条件下的行为表现。 **2.2 负载测试**:模拟实际用户行为和负载,评估系统在不同负载下的性能表现。 **2.3 稳定性测试...
性能测试的目标是测量软件的响应时间、吞吐量、并发用户数以及系统资源的利用率(如CPU、内存、网络带宽等)。通过这些指标,我们可以判断系统是否能够满足业务需求,是否存在性能瓶颈,以及在高负载下的稳定性。 ...
性能之并发用户数的计算 标题解释 ...7. 并发用户数和 TPS 都是评估系统性能的重要指标,但是在评定服务器的性能时,应该结合 TPS 和并发用户数,以 TPS 为主,并发用户数为辅来衡量系统的性能。
### 性能测试指标计算详解 #### 一、性能测试需求概述 性能测试是为了确保软件系统在特定负载下能够满足预定的性能指标。一个成功的性能测试不仅需要关注系统的响应时间和资源利用率,还需要对整个测试过程进行...
3. **性能指标收集**:在测试过程中,MySQLPT会收集如查询响应时间、每秒事务处理量(TPS)、CPU使用率、内存占用等关键性能指标,帮助分析瓶颈所在。 4. **结果分析**:测试完成后,MySQLPT通常会生成详细的报告,...
2. **测试执行与监控**:通过LoadRunner控制器启动测试,同时监控服务器资源(如CPU、内存、网络带宽等)的使用情况。 3. **结果分析**:收集测试数据,分析性能报告,找出可能的性能瓶颈和问题。 4. **故障排查与...
根据提供的文件信息,本文将对“tps java测试代码”中的关键知识点进行详细的解析与说明。 ### 关键知识点 #### 1. **TPS (Transactions Per Second) 的概念** - TPS(每秒交易数)是衡量系统处理能力的一个重要...
- **性能测试工具**:LoadRunner 11G,用于模拟用户访问行为,测量事务响应时间、TPS(每秒事务数)、每秒点击率和吞吐量等关键性能指标。 - **服务器监控工具**:Sportlight,用于监控应用服务器和数据库服务器的...
本报告详细介绍了某服务器压力测试的过程、目的、系统情况、测试环境以及所使用的工具和方法。 1. 引言 1.1 编写目的 此压力测试报告的目的是为了提供对服务器性能的全面评估,识别潜在的性能瓶颈,以及在高负载...
- **容量测试**:例如场景1,通过Java脚本向系统施加压力,记录性能变化,关注点包括TPS、各服务器的CPU资源使用情况等。 - **结果描述**:提供了TPS随虚拟用户数(VU)变化的曲线图,以及各个服务器(如broker、...