使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)

Posted 没刮胡子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)相关的知识,希望对你有一定的参考价值。

1.Swingbench 简介

Swingbench 是一个免费负载生成器(和基准测试),旨在对 Oracle 数据库
进行压力测试。目前最新版本 Swingbench 2.6。
SwingBench 由负载生成器,协调器和集群概述组成。该软件可以生成负载
并绘制交易/响应时间图表。
Swingbench 可用于演示和测试技术,例如实际应用程序集群,在线表重建,备用数据库,在线备份和恢复等。SwingBench 附带的代码包括 6 个基准,OrderEntry,SalesHistory,TPC-DS Like,JSON,CallingCircle 和
StressTest …整个框架是用 Java 开发的,因此可以在各种平台上运行。
要运行 swingbench,必须在客户端平台上安装 Java 虚拟机(JVM)。JVM 必须至少为 Java 8 或更高版本。尽管 Swingbench 附带了最新的 jdbc 库,这意味着它可以在不需要任何其他库的情况下针对 Oracle 数据库运行,但如果需要,则有必要安装 Oracle OCI 库。这些可以在这里下载:
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

Swingbench 下载地址:http://www.dominicgiles.com/downloads.html

2.Swingbench 在windows上的使用

首先在作者网站上下载最新的2.6版本,文件名swingbenchlatest.zip,大小为27.6M左右
解压在D:\\swingbench

2.2 安装 JDK

因 为 运 行 这 个 软 件 需 要 java8 支 持 , 我 这 里 安 装 的 是
jdk-8u221-windows-x64.exe,然后配置好 Java 的环境变量。
主要配置 JAVA_HOME 和 Path。
如下图:

2.3 创建测试数据

在 windows 上运行 swingbench\\winbin 下的 oewizard 2.bat 脚本,create
the order entry 创建测试数据,connect string 的格式为//oracle 数据库
所在主机的 IP 地址/oracle 数据库的实例名,如:“//192.168.16.215/xe”。
一步一步走,根据情况选择测试数据的大小,可以选较小的 1G 测试数据,注意需要提供一个具有 DBA 权限的用户。

2.3.1运行oewizard脚本

D:\\swingbench>cd winbin
D:\\swingbench\\winbin>"oewizard 2.bat"


2.3.2选择安装版本(version2)

选择Version2.0

2.3.3创建测试的用户和表空间


指定Oracle数据的IP和实例名: //IP/实例名

2.3.4数据库参数设置

远程连接到数据库,创建用户,表空间,选择数据文件的位置。

数据库参数说明:
partitioning Model 分区模型
No partitioning
Hash partitioning
Compression Used 使用的压缩
No Compression
Advnced Compression
Tablespace Type 表空间类
Normal Tablespace
Bigfile Tablespace
Indexing Used 使用的索引
No Indexes
Primary Keys Only
All Indexes

我这里设置的较小的1G测试数据,等待大约十几分钟,如果实际情况可以根据需要选择。

2.3.5设置并发数

选择并行度,如果系统性能高的话可以适量增加。

2.3.6开始执行


Wizard Log日志窗口可以save of File保存一下,然后关闭,然后就等想到完成了。

2.3.7执行完成

执行时间较长,等待执行完成后点击OK,保存生成的文件,关闭程序。

2.4 运行基准测试

运行D:\\swingbench\\winbin\\swingbench.bat脚本,进行压力测试

2.4.1选择基准测试

2.4.2 配置截图

设置一下数据库的用户名和密码,数据库的IP和实例名,设置好测试并发用户数。

2.4.3配置Distributed Controls

如果不进行配置,无法监控到CPU和磁盘等信息

配置IP,管理员用户,密码以及ssh的端口号。

2.4.4 运行测试

点击上方的运行按钮执行

3 Swingbench 在CentOS上的使用

1.对应的CentOS7有安装桌面环境
2.在作者网站上下载最新的2.6版本,文件名swingbenchlatest.zip,大小为27.6M左右。
3.把zip压缩包上传到Linux上的/opt目录

3.1 解压缩swingbenchlatest.zip

解压在/opt/swingbench

# cd /opt
# unzip swingbenchlatest.zip

3.2卸载CentOS7自带的OpenJDK

3.2.1查看安装的jdk

# rpm -qa |grep jdk
[root@host ~]# rpm -qa |grep jdk
java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64
java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64
java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64
copy-jdk-configs-3.3-10.el7_5.noarch

3.2.2依次卸载

根据查询结果依次删除

# rpm -e java-1.7.0-openjdk-1.7.0.191-2.6.15.5.el7.x86_64  --nodeps
# rpm -e java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64  --nodeps
# rpm -e java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64  --nodeps
# rpm -e java-1.8.0-openjdk-1.8.0.181-7.b13.el7.x86_64  --nodeps
# rpm -e copy-jdk-configs-3.3-10.el7_5.noarch  --nodeps


3.3 安装JDK

因为运行这个软件需要java8支持,我这里安装的是jdk-8u211-linux-x64.tar.gz,然后配置好Java的环境变量。
我这里统一放在 /opt目录下

3.3.1解压jdk-8u211-linux-x64.tar.gz

# cd /opt
# tar -zxvf jdk-8u211-linux-x64.tar.gz

3.3.2配置Java环境变量

vi /etc/profile
在最后增加

# ------jdk---------
export JAVA_HOME=/opt/jdk1.8.0_211
export PATH=$PATH:$JAVA_HOME/bin

3.3.3让配置生效

# source  /etc/profile


3.4创建测试数据
在Linux上运行swingbench/bin下的oewizard t脚本,create the order entry创建测试数据,connect string的格式为//oracle数据库所在主机的IP地址/oracle数据库的实例名,如:“//172.23.1.100/orcl”。一步一步走,根据情况选择测试数据的大小,可以选较小的1G测试数据,注意需要提供一个具有DBA权限的用户。

3.4.1运行oewizard脚本

# cd /opt/swingbench/bin
# ./oewizard

提示:如果不在桌面环境会报错

切换到桌面环境

在桌面打开控制台(终端),切换到root用户

$ su# cd /opt/swingbench/bin
# ./oewizard


3.4.2选择安装版本(version2)

3.4.3创建测试的用户和表空间




3.4.4数据库参数设置



我这里设置的较小的1G测试数据,等待大约十几分钟,如果实际情况可以根据需要选择。

3.4.5设置并发数

选择并行度,如果系统性能高的话可以适量增加。

3.4.6开始执行


3.4.7执行完成


执行时间较长,等待执行完成后点击OK,保存生成的文件,关闭程序。

3.5运行基准测试

运行/opt/swingbench/bin/swingbench脚本,进行压力测试

3.5.1选择基准测试


3.5.2配置截图

3.5.3配置Distributed Controls

如果不进行配置,无法监控到CPU和磁盘等信息, 配置Linux的IP,管理员用户,密码以及ssh的端口号。

4 Oracle数据库时间监控

数据库时间监控是一个独立的工具,可以监控Oracle应用程序的运行情况。这个工具也是使用Java来开发的,所以需要安装好Oracle JDK,这里我就不用多说了,可以查看上面的文档。
下载地址: http://www.dominicgiles.com/downloads.html

4.1下载解压缩

1.下载的文件名dbtimemonitor16Aug2018.zip,大小为16.2M左右。
2.把zip压缩包上传到Linux上的/opt目录并解压缩。

# cd /opt
# unzip dbtimemonitor16Aug2018.zip

4.2修改配置databases.xml文件

在其中添加数据库的配置,指定数据库管理员和密码,以及oracle数据库的IP和实例。

<MonitoredDatabase>
    <ConnectString>//172.23.1.100/orcl</ConnectString>
    <Comment>Test ERP System</Comment>
    <Username>system</Username>
    <Password>password</Password>
  </MonitoredDatabase>
</WaitMonitor>

4.3切换到桌面环境运行

需要使用root管理员运行

$ su - 
# cd /opt/dbtimemonitor/bin/
# ./dbtimemonitor


以上是关于使用免费负载生成器swingbench对oracle数据库进行压力测试(测试Oracle的功能或评估性能)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用swingbench实现oracle数据库压力测试

Oracle 测试工具 Swingbench 的使用方法

swingbench压测Oracle小记(r12笔记第19天)

Oracle数据库性能测试工具:Swingbench部署实录

SwingBench 字符模式压测最佳实践

#导入MD文档图片#使用ora2pg迁移Oracle19c到PG13并使用OGG配置实时同步