转 使用SwingBench 对Oracle RAC DB性能 压力测试

 

 

 

 

 

 ###########说明1:

 

 

 

1 Swingbench 简述
1.1 概述
这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。目前稳定版本2.2,最新版本2.3,基于JDK1.5。该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator和跟踪文件分析工具Trace Analyzer。
Swingbench可 以执行4种不同的标准测试(benchmark),拥有三种前端展示方式Swingbench/Charbench/Minibench,其中 Charbench是字符模式的,另外两种是GUI模式的。另外还可以通过ClusterOverview可以聚合显示所有的结果。Swingbench的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。最新的2.3版本开始支持TimesTen内存数据库
下载地址:http://www.dominicgiles.com/downloads.html
作者博客:http://www.dominicgiles.com/blog/blog.html

  目前网络上开源的oracle压力测试工具主要是orabm和swingbench,由于orabm不支持oracle 11g版本,因此本次测试使用了swingben进行了压力测试。另外,swingbench还能对rac进行测试。swingbench是UK based oracle Database Solutions group开发的一个oracle压力测试工具,好像是官方废弃的一个项目,官方页面http://dominicgiles.com/swingbench.html上可以下载最新的软件版本。swingbench可以运行在windows和linux平台,本次以windows为例。

 

2. 环境配置

  测试客户端需要安装JDK,无需安装oracle client端

swingbench的版本为2.4 ,直接解压软件压缩包,解压后路劲如下,因是windows下做测试 所以使用 winbin目录下的批处理文件

 

主要使用到的是如下四个bat文件

 

主要的bat文件作用如下:

1、  bmcompare  用来对比测试结果

2、  ccwizard  是以CC种子为模板创建的运行测试数据

3、  clusteroverview 用来启动集群的压力测试,并查看测试结果

4、  coordinator 用来启动协调服务器

5、  minibench 用来注册节点到协调服务器

6、  oewizard 是以OE种子为模板创建运行测试数据

7、  shwizard 是以SH种子为模板创建运行测试数据

8、  swingbench 执行基准测试

 

3.测试

 3.1 创建测试数据

swingbench不使用客户数据,而是按自己的规则创建测试数据,(生成的测试数据只能使用一次,测试过后 需要再次测试的话,需要重新创建测试数据,这点做的不好)

到目标目录下 运行oewizard.bat批处理文件,也可以在目录下双机oewizard.bat批处理文件运行

 

会看到如下界面

 

下一步

 

下一步,输入你需要测试的数据库的 //ip/sid 以及sys用户的密码

 

下一步,前三项不需要修改,为swingbench自动创建的schema,只需要修改datafile的存放路径即可。

 

下一步,选择创建数据的数据量 最小100M 最大1TB, 我选择为100GB 一般需要4-7小时,(和你硬件io性能有关)

PS:做测试时要确定对生产库没有影响,用swingbench测试,会占用大量的IO,我使用的是新核心系统的新存储,和旧的环境完全独立,所以swingbench测试对旧生产环境没有任何影响。

 

下一步,

 

下一步,数据开始插入,100G的数据大概要7个小时左右完成。

 

 

4、启动swingbench配置

4.1、Winbin目录下运行coordinator–g 启动协调服务器,如下

 

4.2、启动swingbench配置相关压力测试参数

 

 

 

 

 

出现如此主界面  主要参数设置 好对应的connect string,其他的参数建附录A

 

设置图上vhfs1节点圈圈内的参数,节点2同样操作。

将数据库OS 的ssh打开 则可以统计主机的cpu  disk IO 信息

 

也可以拉出AWR报表

 

设置 insert,update ,select的比例

 

4.3 注册节点到注册服务器(这一步很重要,如果不填写协调服务器主机名,则无法使用cluster view集群进程)

 

完成后点击保存(两个节点都要填写协调服务器主机名),退出。

 

 

5、测试

5.1、打开集群的两个节点,命令如下,

swingbench.bat -c C:\swingbench\configs\oeconfig.xml -cs 192.192.5.106:1521:vhfs1 -g vhfs1 -dt thin
swingbench.bat -c C:\swingbench\configs\oeconfig.xml -cs 192.192.5.107:1521:vhfs2 -g vhfs2 -dt thin

保持集群下两节点的swingbench 图形进程处于打开状态。

5.2、运行./clusteroverview进行测试,依次启动oracleRAC的两个节点数据库连接,如下,可以在运行选项栏里选择自动负载均衡。

 

压力测试结果如下,

 

   

 

 

6、测试结果统计对比

结果为XML文档

 

 ############## sample 1:

#######section 4:

java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案

 

在运行java程序时,遇到问题"Could not create the Java Virtual Machine."如下截图:

 

大概原因,就是java堆内存不足以运行JVM,需要增加内存。

网上搜索此问题,大部分都是针对某个程序进行修改JVM内存的解决方法,比如eclipse,等。试问,若是其他程序出现问题了呢?

现在给出一个全局的java虚拟机修改内存的方法。在WIN XP,WIN 7,WIN8都可以。

解决方案:增加一个系统环境变量

变量名:_JAVA_OPTIONS

变量值:-Xmx512M

保存后,就OK!!

下面给出关于java堆内存的一个介绍,这是一个英文网页的翻译过来的。

关于java堆内存:

 

 

 

 

 

 

可以利用bmcompare.bat 对比两个测试结果,语法如图,结果会生产在本地。

c:\swingbench\winbin>bmcompare.bat  -r results00003 results00013

 

https://www.cnblogs.com/jyzhao/p/6185463.html?utm_source=itdadao&utm_medium=referral

 

我们可以使用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等性能指标,作为今后系统正式上线后的一个参考依据

补充:最好使用sys用户直接连接,确认没有无效对象,避免后续再次赋权:
下面附几张单实例压测配置的截图:


 --linux 测试环境 8G 数据实际完成时间为 3小时50分

-AIX 1G ,1G 数据库实际完成时间20分钟

-如果使用非system的dba 用户创建,需要执行grant execute on dbms_lock to soe;

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

 

 

 

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

 

 

 

还可以拉出AWR报表

设置 insert,update ,select的比例

 

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

 

 

 

 

试结果可保持为XML文档,最后查看显示如下,  我的测试发现第一次运行压力测试正常,后面跑几次总是hang 在3分钟,左右,不知道什么原因

 原因如下:  这是正常的测试 ,没有黄色的告警 

 

这是有问题 ,

 

 

 

 

 

###官方文档

 http://www.dominicgiles.com/Swingbench.pdf

1.

Overview of Swingbench

• Typically used as a standalone load generator

• However a Coordinator process allows multiple

load generators to work together.

• ClusterOverview aggregates all of the results

together.

• Its free....

 

 

 

2.

 

 

 

 

 

 

 

 

 

 

 

 

 

For windows

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.

Overview of Swingbench

• Typically used as a standalone load generator

• However a Coordinator process allows multiple

load generators to work together.

• ClusterOverview aggregates all of the results

together.

• Its free....

 

 

 

For windows

 

  

  

 

 

---恢复内容结束---

 ############## sample 1:

#######section 4:

java虚拟机内存不足,“Could not create the Java Virtual Machine”问题解决方案

 

在运行java程序时,遇到问题"Could not create the Java Virtual Machine."如下截图:

 

大概原因,就是java堆内存不足以运行JVM,需要增加内存。

网上搜索此问题,大部分都是针对某个程序进行修改JVM内存的解决方法,比如eclipse,等。试问,若是其他程序出现问题了呢?

现在给出一个全局的java虚拟机修改内存的方法。在WIN XP,WIN 7,WIN8都可以。

解决方案:增加一个系统环境变量

变量名:_JAVA_OPTIONS

变量值:-Xmx512M

保存后,就OK!!

下面给出关于java堆内存的一个介绍,这是一个英文网页的翻译过来的。

关于java堆内存:

 

 

 

 

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

 

 

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

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

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

 

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

 

选择导入1G数据:

 

 

 

--linux 测试环境 8G 数据实际完成时间为 3小时50分

 

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

 

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

 

还可以拉出AWR报表

 

设置 insert,update ,select的比例

 

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

 

 

测试过程截图

 

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

 

 

 

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

我们可以使用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

 

 

 ###########说明1:

 

 

 

1 Swingbench 简述
1.1 概述
这是Oracle UK的一个员工在一个被抛弃的项目的基础上开发的。目前稳定版本2.2,最新版本2.3,基于JDK1.5。该工具是免费的,可以在作者的网站上自由下载,并且拥有详细的使用文档。除了Swingbench,作者还开发了两个相关工具:测试数据生成工具DataGenerator和跟踪文件分析工具Trace Analyzer。
Swingbench可 以执行4种不同的标准测试(benchmark),拥有三种前端展示方式Swingbench/Charbench/Minibench,其中 Charbench是字符模式的,另外两种是GUI模式的。另外还可以通过ClusterOverview可以聚合显示所有的结果。Swingbench的开发目的主要是用来展示RAC的负载和测试,但也可用于单实例环境。最新的2.3版本开始支持TimesTen内存数据库
下载地址:http://www.dominicgiles.com/downloads.html
作者博客:http://www.dominicgiles.com/blog/blog.html

  目前网络上开源的oracle压力测试工具主要是orabm和swingbench,由于orabm不支持oracle 11g版本,因此本次测试使用了swingben进行了压力测试。另外,swingbench还能对rac进行测试。swingbench是UK based oracle Database Solutions group开发的一个oracle压力测试工具,好像是官方废弃的一个项目,官方页面http://dominicgiles.com/swingbench.html上可以下载最新的软件版本。swingbench可以运行在windows和linux平台,本次以windows为例。

 

2. 环境配置

  测试客户端需要安装JDK,无需安装oracle client端

swingbench的版本为2.4 ,直接解压软件压缩包,解压后路劲如下,因是windows下做测试 所以使用 winbin目录下的批处理文件

 

主要使用到的是如下四个bat文件

 

主要的bat文件作用如下:

1、  bmcompare  用来对比测试结果

2、  ccwizard  是以CC种子为模板创建的运行测试数据

3、  clusteroverview 用来启动集群的压力测试,并查看测试结果

4、  coordinator 用来启动协调服务器

5、  minibench 用来注册节点到协调服务器

6、  oewizard 是以OE种子为模板创建运行测试数据

7、  shwizard 是以SH种子为模板创建运行测试数据

8、  swingbench 执行基准测试

 

3.测试

 3.1 创建测试数据

swingbench不使用客户数据,而是按自己的规则创建测试数据,(生成的测试数据只能使用一次,测试过后 需要再次测试的话,需要重新创建测试数据,这点做的不好)

到目标目录下 运行oewizard.bat批处理文件,也可以在目录下双机oewizard.bat批处理文件运行

 

会看到如下界面

 

下一步

 

下一步,输入你需要测试的数据库的 //ip/sid 以及sys用户的密码

 

下一步,前三项不需要修改,为swingbench自动创建的schema,只需要修改datafile的存放路径即可。

 

下一步,选择创建数据的数据量 最小100M 最大1TB, 我选择为100GB 一般需要4-7小时,(和你硬件io性能有关)

PS:做测试时要确定对生产库没有影响,用swingbench测试,会占用大量的IO,我使用的是新核心系统的新存储,和旧的环境完全独立,所以swingbench测试对旧生产环境没有任何影响。

 

下一步,

 

下一步,数据开始插入,100G的数据大概要7个小时左右完成。

 

 

4、启动swingbench配置

4.1、Winbin目录下运行coordinator–g 启动协调服务器,如下

 

4.2、启动swingbench配置相关压力测试参数

 

 

 

 

 

出现如此主界面  主要参数设置 好对应的connect string,其他的参数建附录A

 

设置图上vhfs1节点圈圈内的参数,节点2同样操作。

将数据库OS 的ssh打开 则可以统计主机的cpu  disk IO 信息

 

也可以拉出AWR报表

 

设置 insert,update ,select的比例

 

4.3 注册节点到注册服务器(这一步很重要,如果不填写协调服务器主机名,则无法使用cluster view集群进程)

 

完成后点击保存(两个节点都要填写协调服务器主机名),退出。

 

 

5、测试

5.1、打开集群的两个节点,命令如下,

swingbench.bat -c C:\swingbench\configs\oeconfig.xml -cs 192.192.5.106:1521:vhfs1 -g vhfs1 -dt thin
swingbench.bat -c C:\swingbench\configs\oeconfig.xml -cs 192.192.5.107:1521:vhfs2 -g vhfs2 -dt thin

保持集群下两节点的swingbench 图形进程处于打开状态。

5.2、运行./clusteroverview进行测试,依次启动oracleRAC的两个节点数据库连接,如下,可以在运行选项栏里选择自动负载均衡。

 

压力测试结果如下,

 

   

 

 

6、测试结果统计对比

结果为XML文档

 

 #######################

 

可以利用bmcompare.bat 对比两个测试结果,语法如图,结果会生产在本地。

c:\swingbench\winbin>bmcompare.bat  -r results00003 results00013

 

https://www.cnblogs.com/jyzhao/p/6185463.html?utm_source=itdadao&utm_medium=referral

 

我们可以使用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等性能指标,作为今后系统正式上线后的一个参考依据

补充:最好使用sys用户直接连接,确认没有无效对象,避免后续再次赋权:
下面附几张单实例压测配置的截图:


 

 

 

 

 

转载于:https://www.cnblogs.com/feiyun8616/p/9300534.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值