我思故我在我有我精彩--liangqihui

爱欲追而情已逝,子欲孝而亲不待。人生的困苦又怎能用一个难字囊尽百味
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

如何使用swingbench进行oracle数据库压力测试

Posted on 2017-07-17 14:03  挥辉  阅读(13552)  评论(0编辑  收藏  举报
如何使用swingbench进行oracle数据库压力测试
2014-10-06 08:09:02
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xjsunjie.blog.51cto.com/999372/1560779

     

    swingbench是一款网络上开源的oracle压力测试工具,支持oracle 11g版本,还能对rac进行测试。从官方页面http://dominicgiles.com/downloads.html上可以下载最新的软件版本。

wKiom1Qx2GDhPRnSAAGf-N_yano842.jpg

   swingbench可以运行在windows和linux平台,本次测试采用linux平台,具体测试过程如下:

  1、首先使用VMVARE10搭建一个redhat6.5的虚拟机。

  2、在虚拟redhat6.5上安装ORACLE11G的数据库。

  3、使用oewizard导入测试数据,可以根据向导提示进行数据导入。

        yum install -y java  

  4、使用swingbench进行压力测试。

 

测试步骤:

1、导数据之前需要修改temp表空间大小,使其能够容纳下相应的导入数据

mkdir -p /home/oracle/oradata/orcl

create temporary tablespace temp1 tempfile '/home/oracle/oradata/orcl/temp1.dbf' size 100m; 

alter database default temporary tablespace temp1; 

drop tablespace TEMP; 

create temporary tablespace temp tempfile '/home/oracle/oradata/orcl/temp.dbf' size 1g;

alter database default temporary tablespace temp;

drop tablespace temp1;

(也可用rm删除temp1.dbf)

上述操作也可通过EM管理界面直接将TEMP表空间扩到1G.

 

2、安装swingbench测试软件,直接解压缩即可运行。

unzip -x swingbench25919.zip

 

注意要按照java8

 yum -y install java-1.8.0-openjdk*

3、进入swingbench/bin目录执行oewizard导入1G测试数据,并修改数据库连接名和DBA密码

wKioL1Qx2h3TrIIGAAGyVq92CVA180.jpg

 

输入导入数据文件存放位置:

wKiom1Qx2nGTFbZFAAGBnRUybxU038.jpg

选择导入1G数据:

wKioL1Qx2tnyThWoAAE8qLLgIJI464.jpg

数据导完之后在该目录下运行swingbench执行测试,修改数据库连接名,用户连接数设置为300,测试时间设置为10分钟

wKiom1Qx2v6S6yjvAAKAl63J5mg784.jpg

修改Distributed Controls用于测试过程中搜集测试监控信息,修改完之后测试连接是否正常,并可以统计主机的cpu  disk IO 信息

wKioL1Qx24DDSssqAAFmiLc2VSU132.jpg

还可以拉出AWR报表

wKioL1Qx3O2gzw45AADH_p4CEeQ979.jpg

设置 insert,update ,select的比例

wKioL1Qx3RHB32ITAAEK9ABjiPI261.jpg

设置完成之后,点击左上角绿色按钮执行测试

wKiom1Qx24zgsNQ-AAEJ51YcKSs614.jpg

 

测试过程截图

wKiom1Qx3QaxFssnAAGpJeiYV6Q924.jpg

测试结果可保持为XML文档,最后查看显示如下

wKioL1Qx3YTjl5FJAAHAP8c-C8k663.jpg

 

 

------------

我们可以使用swingbench这个工具对数据库性能进行压力测试,得到一些性能指标作为参考。
SwingBench下载:
http://www.dominicgiles.com/downloads.html

参考相关文章:
http://www.linuxidc.com/Linux/2016-04/130297.htm
http://blog.csdn.net/xiaofan23z/article/details/7978998

实验环境:
RHEL 6.5 + Oracle 11.2.0.4 RAC + SwingBench 2.5.0.971

1. 生成swingbench配置文件
swingbench解压即可使用,第一次需要配置,本次只是简单熟悉swingbench的使用,配置基本按照默认。

[oracle@jyrac1 bin]$ pwd
/home/oracle/swingbench/bin
[oracle@jyrac1 bin]$ ./oewizard 


注意,上面的connect string,根据需求填写,比如:
--如果压测只连接实例1
jyrac1:1521:jyzhao1

--如果压测只连接实例2
jyrac2:1521:jyzhao2

--如果压测连接RAC集群,LB到各个实例
//jyrac1/jyzhao


2. 运行swingbench压力测试

可以大致看到压力测试中,数据库可以达到的TPM,TPS等性能指标,作为今后系统正式上线后的一个参考依据