当前位置:文档之家› oracle压力测试

oracle压力测试


在不执行其他程序的情况下,无聊有多少并发数 访问数据库,CPU的利用率都在85%左右 ,由上 结果可以看出,本机的tps在660左右。
其中:TPS 是Transactions Per Second 的 缩写, 也就是事务数/秒。 TPS的計算:每一个阶段所有session的tps相加 就是当前测试的总的tps了。
基于工具hammerora的Oracle 压力测试
Hammerora—the Open Source Oracle Load Test Tool 首先介绍一下Hammerora。从创作者对这 个工具的标题描述可以看出,Hammerora 是一款Oracle数据库负载测试工具。该工 具可以在Oracle 8i、10i和10g等版本上使 用。当前可以用在Linux/Unix和Windows上。 初步实现了跨平台。Hammerora 完全用 TCL编写。
使用同样的测试语句 orabm 1,10,50,100,500,800 1000 对 ORACLE执行插入命令: insert into test1 values('1','whb','12','m');
得到结果为: ORACLE_SID=oracle10i sess=1 tps=1033 ORACLE_SID=oracle10i sess=10 tps=1108 ORACLE_SID=oracle10i sess=50 tps=1153 ORACLE_SID=oracle10i sess=100 tps=1182 ORACLE_SID=oracle10i sess=500 tps=1420 ORACLE_SID=oracle10i sess=800 tps=1931
在上述结果我们可以分析得出,当并发用 户为3000时就到了系统瓶颈了,也就是说 本系统可承受的最大TPS值在1400左右, 另外,反复测试时,并发用户超过3000后, 测得的TPS值也很不稳定,也说明在3000 为瓶颈值。
结果如下: ORACLE_SID=oracle10i sess=1000 tps=1198 ORACLE_SID=oracle10i sess= 2000tps=1327 ORACLE_SID=oracle10i sess=3000tps=1373 ORACLE_SID=oracle10i sess=4000 tps=1147 ORACLE_SID=oracle10i sess=4500 tps=783
Hammerora的设计原理是解析Oracle的 Trace文件,并把它们转化为Oratcl程序,然 后在Oracle数据库中用多个用户并发的对 用户的事务进行“回放”。我们知 道,Oracle的Trace文件能够翔实的记录用 户对数据库的操作。这样Hammerora能够 保证对用户环境的真实模拟。
最多可以产生5000个进程模拟访问数据 库。
测试的数据库环境:
下载版oracle可支持最大并发进程数:
设置系统支持的最大访ຫໍສະໝຸດ 进程数:系统环境: 测试数据:
测试语句:orabm 1,10,50,100,500,800 1000 orabm后接2个参数(假如测试远程访问压力 这需要加三个参数)。 第一个参数表示测试多少个并发 第二个参数表示执行多少个事务
可见在正常情况下,ORACLE每秒钟相应 用户操作命令的次数反而会随用户量得增 加而增加,说明在用户访问量在1000内时, oracle的工作很理想。
下面对本系统安装的oracle10g进行压力测试, 执行测试语句, orabm 1000,2000,3000,4000,4500 1000 执行sql查询语句:select * from test1 where NO=1536;
上语句表示分別用1,10,50,100,500,800个并 发执行1000个事务
执行sql查询语句:select * from test1 where NO=1536; 生成脚本写入orabm.<oracle_sid>.log 利用脚本工具orabm_tps.sh 格式化的结果为:
orabm_tps.sh orabm.oracle10i.log ORACLE_SID=oracle10i sess=1 tps=500 ORACLE_SID=oracle10i sess=10 tps=533 ORACLE_SID=oracle10i sess=50 tps=586 ORACLE_SID=oracle10i sess=100 tps=609 ORACLE_SID=oracle10i sess=500 tps=783 ORACLE_SID=oracle10i sess=800 tps=817
相关主题