使用免费负载生成器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的功能或评估性能)
1.Swingbench 简介 Swingbench 是一个免费负载生成器(和基准测试),旨在对 Oracle 数据库 进行压力测试。目前最新版本 Swingbench 2.6。 SwingBench 由负载生成器,协调器和集群概述组成。该软件可以生成负载 并绘制交易/响应时间…...
【预告】ORACLE Primavera P6 v22.12 虚拟机发布
引言 离ORACLE Primavera P6 EPPM最新系统 v22.12已过去了3个多月,应盆友需要,也为方便大家体验,我近日将构建最新的P6的虚拟环境,届时将分享给大家,最终可通过VMWare vsphere (esxi) / workstation 或Oracle virtua…...
机器学习100天(四十):040 线性支持向量机-公式推导
《机器学习100天》完整目录:目录 机器学习 100 天,今天讲的是:线性支持向量机-公式推导! 首先来看这样一个问题,在二维平面上需要找到一条直线划分正类和负类。 我们找到了 A、B、C 三条直线。这三条直线都能正确分类所有训练样本。但是,哪条直线最好呢?直观上来看,我…...
失败经验之震荡玩家往往死于趋势市场
亏损,是从去年开始的吧。 尤其是去年,仅仅一年,就亏掉了自从交易以来的所有盈利。 现在,我甚至不敢去计算具体的亏损金额。 保守估计,已经亏损100万左右。 现在回想,似乎也是必然。 交易本来就是一个走…...
应用层与传输层~
文章目录应用层自定义应用层协议什么是自定义应用层协议自定义方式运输层运输层概述运输层特点运输层协议UDP协议UDP的特点UDP首部格式校验规则TCP协议TCP的特点TCP协议段格式TCP的性质确认序号超时重传连接管理三次握手四次挥手TCP的状态滑动窗口流量控制拥塞控制延迟应答捎带…...
IO文件操作
认识文件 狭义的文件 存储在硬盘上的数据,以“文件"为单位,进行组织 常见的就是普通的文件 (文本文件,图片, office系列,视频,音频可执行程序…)文件夹也叫做"目录" 也是一种特殊的文件。 广义的文件 操作系统,是要负责管理软硬件资源,操作系统(…...
【构建工具】webpack 3、4 升级指南,摆脱低版本的困扰
一、依赖处理 1.升级通用依赖 借用 ncu 库实现,帮你改写需要升级的package.json 然后再 npm install ncu -u <packages> # 可以指定依赖 ncu # 升级全部依赖大概列了下升级的效果 add-asset-html-webpack-plugin ^2.1.3 → ^5.0.2 clean-webpack-…...
Javaweb第一个项目——实现简单的登陆功能
第一步:打开idea-->文件-->新建 第二步: 在Demo文件夹 点击右键-->添加框架支持-->找到Web应用程序 勾选 第三步:配置Tomcat 第四步:新建一个lib(建在web-INF文件夹下)文件夹 用于存放jar包…...
OpenKruise 开发者不容错过的带薪实习机会!马上加入 LFX Mentorship 计划
LFX Mentorship 计划由 Linux Foundation 组织发起,为像 OpenKruise 这样的 CNCF 托管项目提供了激励开源贡献、扶植社区发展的优秀土壤。参与其中的开发者不仅有机会在经验丰富的社区 Mentor 指导下贡献开源项目、为职业生涯加分,完成工作后还能获得 $3…...
《c++ primer笔记》第八章 IO库
前言 简单看一下就行 文章目录一、IO类1.1基本概念1.2管理输出缓冲二、文件输入输出2.1文件模式三、string流3.1istringstream3.2ostringstream一、IO类 1.1基本概念 我们常见的流有istream和ostream,这两个流都是有关输入和输出的,此外,…...
web开发 用idea创建一个新项目
这个写着就是给自己当备忘录用的QAQ 这个老师上课一通操作啥也没看清…卑微搞了半天看样子是成功了 记录一下省的以后忘了怎么创建(? zufe lxy 2023.3 先行条件是已经自己装好了Tomcat和idea!!(我的idea是申请了教育…...
【FMCW 03】测速
从上一讲 测距 末尾的frame讲起。我们知道一个chirp对应了一个采样后的IF信号,我们将这些采样后的IF信号按chirp的次序排列成一个帧(frame),这就得到了我们实际中接收后处理的FMCW信号。 由于chirp的发射返回时间很短,…...
ERP(企业资源管理)概述
🌟所属专栏:ERP企业资源管理🐔作者简介:rchjr——五带信管菜只因一枚😮前言:该系列将持续更新ERP的相关学习笔记,欢迎和我一样的小白订阅,一起学习共同进步~👉文章简介&a…...
深入理解java虚拟机精华总结:性能监控和故障处理工具、类加载机制
深入理解java虚拟机精华总结:性能监控和故障处理工具、类加载机制性能监控和故障处理工具、类加载机制jpsjstatjinfojmapjhatjstackVisualVM类加载机制类加载的时机类加载的过程加载验证准备解析初始化类加载器类与类加载器双亲委派模型破坏双亲委派模型往期内容&am…...
推荐系统与推荐算法
文章目录第一章1.1推荐系统意义与价值1.2推荐系统历史与框架1.3推荐算法分类第二章2.1协同过滤的基本思想与分类2.2基于用户的协同过滤2.3基于项目的协同过滤2.4基于邻域的评分预测2.5基于二部图的协同过滤第三章3.1基于关联规则的推荐3.2基于矩阵分解的评分预测3.3概率矩阵分解…...
socket 编程实战(编写客户端程序 )
编写客户端程序 接着上一篇:实战服务端程序 接下来我们再编写一个简单地客户端应用程序,客户端的功能是连接上小节所实现的服务器,连接成功之后向服务器发送数据,发送的数据由用户输入。示例代码如下所示: #include…...
“巨亏成名”的魔鬼交易员,你知道几个?
谁说在期货市场上只有赚大钱才能出名?殊不知还有这样一群特殊的交易员靠着巨额亏损而“一战成名”,亏得是老东家元气大伤,外号“魔鬼交易员”——“不亏不成魔”!接下来火象就给大家盘点几位代表性魔鬼交易员,看看他们…...
1380:分糖果(candy)
1380:分糖果(candy) 时间限制: 1000 ms 内存限制: 65536 KB 【题目描述】 童年的我们,将和朋友分享美好的事物作为自己的快乐。这天,C小朋友得到了Plenty of candies,将要把这些糖果分给要好的朋友们。已知糖果从一个人传…...
数据挖掘(2.1)--数据预处理
一、基础知识 1.数据的基本概念 1.1基础知识 数据是数据对象(Data Objects)及其属性(Attributes)的集合。 数据对象(一条记录、一个实体、一个案例、一个样本等)是对一个事物或者物理对象的描述。 数据对象的属性则是这个对象的性质或特征,例如一个人的肤色、眼球…...
PMP考前冲刺3.06 | 2023新征程,一举拿证
题目1-2:1.一名团队成员表示,他们的用户故事要等到迭代结束后才能完成,因为他们的职能经理要求他们协助解决高优先级的生产问题。项目经理应该做什么?A.将问题上报给项目发起人以解决和调整项目燃尽图B.与产品负责人讨论用户故事不…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
label-studio的使用教程(导入本地路径)
文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
2023赣州旅游投资集团
单选题 1.“不登高山,不知天之高也;不临深溪,不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
短视频矩阵系统文案创作功能开发实践,定制化开发
在短视频行业迅猛发展的当下,企业和个人创作者为了扩大影响力、提升传播效果,纷纷采用短视频矩阵运营策略,同时管理多个平台、多个账号的内容发布。然而,频繁的文案创作需求让运营者疲于应对,如何高效产出高质量文案成…...
