0


数据库测试工具介绍-Swingbench

1、Swingbench 简介

Swingbench是一个免费的负载生成器和基准测试工具,其支持Oracle数据库(11g、12c、18c、19c)。Swingbench的开发目的主要是展示RAC的负载和测试,也可用于单实例环境。下载地址为 http://www.dominicgiles.com/downloads.html

Swingbench模拟了一套订单业务逻辑,通过创建SOE用户,模拟产品和订单业务,可以自定义数据量的大小,本次测试将生成50GB的业务数据

目录

一、 Swingbench工具介绍

1.1 主要程式

1.2 几种压测模式

二、 SalesHistory模式

  1. 环境配置

1.1 安装java

1.2 下载安装swingbench2.6

  1. 压测步骤

2.1 创建测试数据

2.2 基准测试

2.3 保存测试结果

2.4 查看测试结果

2.5 清理测试数据

  1. 常见问题

3.1 创建VM失败

3.2 图形界面显示不全

3.3 创建测试数据失败

三、 StressTest

2.1 创建测试数据

2.2 基准测试

四、 OrderEntry模式

  1. 环境配置

1.1 安装java

1.2 下载安装swingbench2.6

  1. 压测步骤

2.1 创建测试数据

2.2 基准测试

2.3 保存测试结果

2.4 查看测试结果

2.5 清理测试数据

Swingbench工具介绍

Swingbench是一款很不错的oracle压力测试工,使用比较简单,而且效果比较直观明显,可以满足在一些简单的测试案例中的需求。

官网介绍:

dominicgiles.com - dominicgiles.com

1.1 主要程式

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

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

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

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

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

7、 swingbench 执行基准测试,通过图形方式进行参数配置,直观了解基准测试的整理流程

6、 minibench 功能为swingbench模式的缩减版

8、 bmcompare 用来对比测试结果

1.2 几种压测模式

1、SalesHistory 基于Oracle11g / Oracle12c附带的“sh”架构,旨在测试复杂查询在对大型表进行运行时的性能。它使用位于bin目录中的“shwizard”进行安装。

2、OrderEntry 它可以连续运行(直到你用完了空间)。它在少量表上引入了大量争用,旨在强调互连和内存。它使用位于bin目录中的“oewizard”进行安装。基准测试都存在纯jdbc和pl / sql(较低的网络开销)变体。

3、StressTest 简单的压力测试,模拟DML操作。

4、Calling Cirele(不推荐使用)该基准测试是CPU密集型,用于测试CPU和内存,不需要强大的I/O子系统。它使用位于bin目录中的“ccwizard”进行安装。

一、SalesHistory模式

环境: Windows(swingbench) + Oracle 19c pdb + Swingbench 2.6

1. 环境配置

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

1.1 安装java

1.2 下载安装swingbench2.6

swingbench2.6支持12,18,19c 。实际测试中也支持11G,使用没有问题。

解压swingbenchlatest.zip安装包即安装完成。(里面都包含了Linux/Unix和Windows文件)。

2. 压测步骤

2.1 创建测试数据

swingbench不使用客户数据,而是按自己的规则创建测试数据。

因为是在windows下做测试,所以使用 winbin目录下的批处理文件,运行shwizard.bat:

输入需要测试的数据库的 //ip/sid 以及sys用户的正确密码

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

Tablespace Type选Normal Tablespace,默认是Big Tablespace。

选择创建数据的数据量。

看见sucessfully关键字,表示测试数据创建成功。

2.2 基准测试

到目标目录下 运行swingbench.bat批处理文件:

选择对应的Sales_History config文件进行压测,之后出现如下主界面:

根据自己的需求,修改对应参数,进行压测:

1.填写用户名,密码,连接字符串,点击测试,连接成功。

  1. 监控填入要监控的主机信息,对主机进行监控,测试一下是否能连接成功

3.输入相关参数

也可以拉出AWR报表,但建议压测前后,手动创建快照生成AWR报告。

无特殊要求,可以默认

点击测试:

测试过程:

2.3 保存测试结果

2.4 查看测试结果

D:\software\swingbench\swingbench_2.6\winbin>bmcompare -r results.xml

2.5 清理测试数据

SQL> drop user sh cascade;

SQL> drop tablespace sh including contents and datafiles;

3. 常见问题

3.1 创建VM失败

解决办法:

新建变量: 变量名: _JAVA_OPTIONS 变量值: -Xmx512M

3.2 图形界面显示不全

解决办法:重新安装新版本java后,画面显示正常。

3.3 创建测试数据失败

从wizard.log中可以看到,主要就是执行了sql文件中的SQL语句。

解决办法:手动执行这些SQL语句,看一下报错原因,比如表空间是否创建成功,用户权限是否正确,是否有trigger禁止ddl操作等。

找到原因后,删除用户,重新执行创建测试数据。比如案例中,没有权限,手动赋予权限。

二、StressTest

2.1 创建测试数据

继续使用SalesHistory模式下的测试数据。

2.2 基准测试

选择对应的Stress_Test config文件进行压测,之后出现如下主界面,设置相关参数:

压测过程:

三、OrderEntry模式

环境:Linux(swingbench) + Oracle 11G + Swingbench 2.6

1. 环境配置

1.1 安装java

[root@stu ~]# yum install java

[root@stu ~]# java -version

1.2 下载安装swingbench2.6

2. 压测步骤

2.1 创建测试数据

tablespace type选normal tablespace

要保证操作系统空间足够,tempfile满足要求,如果临时表空间不够,修改临时表空间的大小以满足要求。

2.2 基准测试

开始压测:

2.3 保存测试结果

2.4 查看测试结果

[root@stu bin]# ./bmcompare -r /tmp/results.xml

2.5 清理测试数据

SQL> drop user soe cascade;

SQL> drop tablespace soe including contents and datafiles;


本文转载自: https://blog.csdn.net/lwexin/article/details/143422712
版权归原作者 早日实现财富自由-2025 所有, 如有侵权,请联系我们删除。

“数据库测试工具介绍-Swingbench”的评论:

还没有评论