oracle RAC压力测试(Swingbench)

2023年 8月 15日 31.2k 0

Swingbench 压力测试虚拟机RAC

1. Swingbench 简介

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

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

oracle RAC压力测试(Swingbench)-1

2. Swingbench java版本要求

Swingbench 2.5/2.6要求jdk的最低版本为1.8

检查本地java版本

Java –version

oracle RAC压力测试(Swingbench)-2

测试环境为oracle 11.2.0.4 OS redhat 6.9 8C 64GB

需要先升级jdk到17

下载jdk: jdk-17_linux-x64_bin.rpm

下载地址 :https://www.oracle.com/java/technologies/downloads/

oracle RAC压力测试(Swingbench)-3

上传到/usr/local/src目录

1、首先根据实际情况准备好包 jdk-17_linux-x64_bin.rpm

2、先不管是否已安装JDK1.6还是JDK1.7,先下载jdk-17_linux-x64_bin.rpm 然后上传到  /usr/local/src  去。当然其他目录也可以。这里是默认位置。

3、给所有用户添加可执行权限

#chmod +x jdk-17_linux-x64_bin.rpm

4、开始安装程序

#rpm -ivh jdk-17_linux-x64_bin.rpm

接下来就是等待安装结束了。

5、安装结束后,jdk会安装在/usr/java/jdk-17里,然后我们再来配置环境变量。(这时可以直接查一下java -version 看是否已经升级,如果升级就不需要后续操作)

6、好吧,看到安装后产生的文件夹就对了,那么接下来就是配置环境变量了。让当前环境使用我们最新安装的JDK17 ,

#vi /etc/profile  

7、好的,这步关键

录入 i  进行编辑文本

然后在文件内容最后面添加

export JAVA_HOME=/usr/java/jdk-17

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

然后按 esc 按键,输入:wq   保存退出  (PS: 输入的是 冒号+w+q)

8、然后需要设置让更改生效:

[root@linux local]# source /etc/profile

9、最后,在Shell提示符下输入java -version,如果成功输出正确的版本信息,说明安装成功了.

oracle RAC压力测试(Swingbench)-4

JDK版本对应其major version

oracle RAC压力测试(Swingbench)-5

oracle RAC压力测试(Swingbench)-6

3. Xmanager 配置使用界面版安装配置

oracle RAC压力测试(Swingbench)-7

oracle RAC压力测试(Swingbench)-8

oracle RAC压力测试(Swingbench)-9

创建测试schema,表索引数据等等

oracle RAC压力测试(Swingbench)-10

配置连接信息和用户信息

oracle RAC压力测试(Swingbench)-11

测试schema和tablespace

oracle RAC压力测试(Swingbench)-1

oracle RAC压力测试(Swingbench)-13

生成测试数据量大小,我们这里生成50GB

oracle RAC压力测试(Swingbench)-14

设置并行生成数据

oracle RAC压力测试(Swingbench)-15

4.调整数据库参数

接下来调整参数,重启数据库就可以测试了,调整参数如下:

alter system set processes=4000 scope=spfile;

alter system set db_files=2500 scope=spfile;

alter system set standby_file_management='AUTO';

alter system set control_file_record_keep_time=30;

alter system set fast_start_mttr_target=120 scope=spfile;

alter system set open_links_per_instance=10 scope=spfile;

alter system set session_cached_cursors=600 scope=spfile;

alter system set archive_lag_target=1800 scope=spfile;

alter system set open_cursors=1500 scope=spfile;

alter system set open_links=10 scope=spfile;

alter system set undo_retention=10800 scope=spfile;

alter system set lock_sga=FALSE scope=spfile;

alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile;

alter system set resource_manager_plan='' scope=spfile;

alter system set statistics_level='TYPICAL' scope=spfile;

alter system set timed_statistics=TRUE scope=spfile;

alter system set undo_management='AUTO' scope=spfile;

alter system set db_cache_advice='OFF' scope=spfile;

alter system set audit_trail='NONE' scope=spfile;

alter system set audit_sys_operations=false scope=spfile;

alter system set "_gc_policy_time"=0 scope=spfile;

alter system set "_sort_elimination_cost_ratio"=0 scope=spfile;

alter system set "_use_adaptive_log_file_sync"= FALSE scope=spfile;

alter system set "result_cache_max_size"= 0 scope=spfile;

alter system set "_optimizer_use_feedback"=false scope=spfile;

alter system set use_large_pages=false scope=spfile;

调整好参数后,重启数据库

srvctl stop database -d mesdb

srvctl start database -d mesdb

srvctl status database -d mesdb

5.压力测试

5.1设置并发量500

压测结果CPU/内存满载,IOPS 单盘5000左右,每秒事务数3000不到

oracle RAC压力测试(Swingbench)-16

每秒钟事务数接近3000

oracle RAC压力测试(Swingbench)-17

CPU 接近0%idle

oracle RAC压力测试(Swingbench)-18

单盘IOPS 5000左右

oracle RAC压力测试(Swingbench)-19

磁盘iostat

oracle RAC压力测试(Swingbench)-20

5.1 测试并发量1400

压测结果CPU/内存满载,IOPS 单盘6000左右,每秒事务数可达5000

oracle RAC压力测试(Swingbench)-21

CPU满载

oracle RAC压力测试(Swingbench)-22

IOPS 单盘6000左右

oracle RAC压力测试(Swingbench)-23

IOstat状态

oracle RAC压力测试(Swingbench)-24

6.测试总结

根据不同并发情况下,监控系统和数据库状态可以得出,使用超融合承载MES应用

以8C64GB配置为例可以满足当前公司工厂级别需求;

  1. 并发量 单台可以负载1500左右并发,目前并发量最大的基地YCDF单台不超过500
  2. 每秒事务量 每秒钟事务量可以达到5000 ,
  3. IOPS IOPS依然是系统的瓶颈,但是单盘IOPS也能达到6000左右;
  4. 以负载最高的Y某基地为例业务高峰期单盘IOPS 在800-1000左右

综上以现有各个基地的负载情况来看,使用超融合架构可以满足MES数据库的应用

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论