使用免费负载生成器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.与产品负责人讨论用户故事不…...
Java 语言特性(面试系列2)
一、SQL 基础 1. 复杂查询 (1)连接查询(JOIN) 内连接(INNER JOIN):返回两表匹配的记录。 SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id d.dept_id; 左…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
前端倒计时误差!
提示:记录工作中遇到的需求及解决办法 文章目录 前言一、误差从何而来?二、五大解决方案1. 动态校准法(基础版)2. Web Worker 计时3. 服务器时间同步4. Performance API 高精度计时5. 页面可见性API优化三、生产环境最佳实践四、终极解决方案架构前言 前几天听说公司某个项…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析
这门怎么题库答案不全啊日 来简单学一下子来 一、选择题(可多选) 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘:专注于发现数据中…...
Linux简单的操作
ls ls 查看当前目录 ll 查看详细内容 ls -a 查看所有的内容 ls --help 查看方法文档 pwd pwd 查看当前路径 cd cd 转路径 cd .. 转上一级路径 cd 名 转换路径 …...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

12.找到字符串中所有字母异位词
🧠 题目解析 题目描述: 给定两个字符串 s 和 p,找出 s 中所有 p 的字母异位词的起始索引。 返回的答案以数组形式表示。 字母异位词定义: 若两个字符串包含的字符种类和出现次数完全相同,顺序无所谓,则互为…...
Spring是如何解决Bean的循环依赖:三级缓存机制
1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间互相持有对方引用,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...
【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制
使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下,限制某个 IP 的访问频率是非常重要的,可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案,使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...