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

news2024/11/25 13:55:31

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

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/392257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vector - CAPL - Write窗口常用函数

在CAPL自动化开发中,特别是通过Vector CAPL Browser开发中,最终都是通过仿真节点来进行最终的测试,然而这种测试方式没有自动化执行过程报告,只能通过最后的html报告来查看执行过程,那我们是否有更好的调试方法呢?当然是有的,那就是write窗口,通过该窗口我们不但可以打…

【SpringBoot高级篇】SpringBoot集成jasypt 配置脱敏和数据脱敏

【SpringBoot高级篇】SpringBoot集成jasypt数据脱敏配置脱敏使用场景配置脱敏实践数据脱敏pomymlEncryptMethodEncryptFieldEncryptConstantEncryptHandlerPersonJasyptApplication配置脱敏 使用场景 数据库密码直接明文写在application.yml配置中&#xff0c;对安全来说&…

神垕古镇景区5A级十年都没有实现的三大主因

钧 瓷 内 参 第40期&#xff08;总第371期&#xff09; 2023年3月5日 神垕古镇景区5A级十年都没有实现的三大主因 这是2013年&#xff0c;禹州市市政府第一次提出创建5A级景区到今年三月份整整十年啊&#xff01; 目前神垕古镇景区是4A级景区&#xff0c;5A级一直进行中&a…

使用去中心化存储构建网站

今天的大多数网站都遵循后端服务器到前端代码的架构。但在 Web3 应用程序中&#xff0c;前端代码不具有与受智能合约保护的后端代码相同的去中心化性和弹性。那么如何使网站像智能合约一样具有弹性呢&#xff1f; 该体系结构似乎很简单&#xff1a; 创建一个没有服务器的静态…

CorelDRAWX4的VBA插件开发(四十四)建立类(1)汇总相似功能简化重复代码:一键建立设计外框加出血线和等分折页线

这次主要来浅讲一下"类"这个功能,先上一下要实现的功能,建立设计外框加出血线和等分折页线,先上图 那什么是类呢?类其实就是CLASS,用来封装成员参数和函数的,拆开来里面就是这些东西,那写起来其实也没有什么区别,那既然都是参数和函数,那类的出现有什么意义呢.那我…

聚观早报 | 京东百亿补贴今日上线;微软推出全能型人工智能模型

今日要闻&#xff1a;京东“百亿补贴”今日全面上线&#xff1b;小鹏回应人脸识别需对车头半跪&#xff1b;微软推出全能型人工智能模型&#xff1b;雷军建议构建完善汽车数据安全管理体系&#xff1b;苹果、Meta已向国内Micro LED企业下单京东“百亿补贴”今日全面上线 3 月 6…

创建springboot项目文件报红

目录 一、遇到问题 二、出现这个问题的原因 三、解决办法 三种方法 四、操作步骤 一、遇到问题 创建springboot项目的时候&#xff0c;会发现一些重要文件都变成红色了&#xff0c;但是不影响程序的运行。只是看起来会有点不舒服。 二、出现这个问题的原因 因为这个spr…

初识虚拟DOM渲染器

初识虚拟DOM渲染器什么是虚拟DOM什么是渲染器渲染器的实现组件是什么什么是虚拟DOM 首先简单说一下什么是虚拟DOM&#xff0c;虚拟DOM就是一个描述真实DOM的JS对象 例如&#xff1a; 真实的DOM元素 <div onClick"alert(click me)">click me</div>可以…

12 结构:如何系统设计框架的整体目录?

到现在&#xff0c;我们已经将 Gin 集成到框架 hade 中&#xff0c;同时又引入了服务容器和服务提供者&#xff0c;明确框架的核心思想是面向服务编程&#xff0c;一切皆服务&#xff0c;所有服务都是基于协议。后续也会以服务的形式&#xff0c;封装一个个的服务&#xff0c;让…

ESP-C2系列模组开发板简介

C2是一个芯片采用4毫米x 4毫米封装&#xff0c;与272 kB内存。它运行框架&#xff0c;例如ESP-Jumpstart和ESP造雨者&#xff0c;同时它也运行ESP-IDF。ESP-IDF是Espressif面向嵌入式物联网设备的开源实时操作系统&#xff0c;受到了全球用户的信赖。它由支持Espressif以及所有…

空间复杂度与顺序表的具体实现操作(1)

最近更新的少&#xff0c;主要是因为参加了ACM竞赛空间复杂度空间复杂度也是一个数学表达式&#xff0c;是对一个算法在运行过程中临时占用存储空间大小的量度 。空间复杂度不是程序占用了多少bytes的空间&#xff0c;因为这个也没太大意义&#xff0c;所以空间复杂度算的是变量…

项目使用windows-root证书

项目使用windows-root证书 将证书导入到本地计算机 方式1&#xff1a;使用windows-root证书配置流程(计算机本地) 输入命令(mmc)&#xff0c;进入控制台管理窗口 点击“文件”》“添加或删除管理单元”&#xff0c;进入如下界面 双击证书&#xff0c;选择“计算机账户”…

Swagger生成接口在线文档

OpenAPI规范&#xff08;OpenAPI Specification 简称OAS&#xff09;是Linux基金会的一个项目&#xff0c;试图通过定义一种用来描述API格式或API定义的语言&#xff0c;来规范RESTful服务开发过程&#xff0c;目前版本是V3.0&#xff0c;并且已经发布并开源在github上。&#…

C++核心编程<类和对象>(4)

C核心编程<类和对象>4.类和对象4.1封装4.1.1封装的意义封装的意义1封装的意义24.1.2struct和class区别4.1.3成员属性设置为私有4.2对象的初始化和清理4.2.1构造函数和析构函数1.1构造函数语法&#xff1a;类名(){}1.2析构函数语法&#xff1a; ~类名(){}4.2.2构造函数的分…

【JUC2022】第七章 AQS、ReentrantReadWriteLock 和 StampedLock

【JUC2022】第七章 AQS 文章目录【JUC2022】第七章 AQS一、AQS1.概述2.同步器3.抽象的4.队列式二、ReentrantReadWriteLock1.概述2.案例3.存在的问题三、StampedLock1.概述2.案例3.存在的问题一、AQS 1.概述 AQS(AbstractQueueSynchronizer&#xff0c;抽象的队列式同步器)&am…

tesseract -图像识别

下载链接&#xff1a;https://digi.bib.uni-mannheim.de/tesseract/如下选择最新的版本&#xff0c;这里我选择tesseract-ocr-w64-setup-5.3.0.20221222.exe有如下python模块操作tesseractpyocr 国内源&#xff1a;pip install -i https://pypi.mirrors.ustc.edu.cn/simple/ py…

ThreadLocal 学习常见问题

ThreadLocal 这个此类提供线程局部变量。这些变量不同于通常的对应变量&#xff0c;因为每个访问一个变量的线程(通过 get 或 set 方法)都有自己独立初始化的变量副本。ThreadLocal 实例通常是希望将状态与线程(例如&#xff0c;用户 ID 或事务 ID)关联的类中的私有静态字段。使…

vue router elementui template CDN模式实现多个页面跳转

文章目录前言一、elementui Tabs标签页和NavMenu 导航菜单是什么&#xff1f;二、使用方式1.代码如下2.页面效果总结前言 写上一篇bloghttps://blog.csdn.net/jianyuwuyi/article/details/128959803的时候因为整个前端都写在一个index.html页面里&#xff0c;为了写更少的代码…

CENTO OS上的网络安全工具(十九)ClickHouse集群部署

一、VMware上集群部署ClickHouse &#xff08;一&#xff09;网络设置 1. 通过修改文件设置网络参数 &#xff08;1&#xff09;CentOS 在CENTOS上的网络安全工具&#xff08;十六&#xff09;容器特色的Linux操作_lhyzws的博客-CSDN博客中我们提到过可以使用更改配置文件的方式…

推荐 7 个 Vue.js 插件,也许你的项目用的上(五)

当我们可以通过使用库轻松实现相同的结果时&#xff0c;为什么还要编写自定义功能&#xff1f;开发人员最好的朋友和救星就是这些第三方库。我相信一个好的项目会利用一些可用的最佳库。Vue.js 是创建用户界面的最佳 JavaScript 框架之一。这篇文章是关于 Vue.js 的优秀库系列的…