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

简介:     即将上线的数据库如何来评估其性能呢,swingbench是除了Benchmark Factory for Databases的不二之选,可以用短小精悍来形容,而且完全免费,也不用成天到晚google注册码,还等什么呢,赶紧来瞧瞧......一、swingbench介绍   是JAVA程序,当前分为两个版本,一个是2.3,一个是2.4,支持windons/linux/unix平台,测试了一下win7 64平台,运行不太稳定   支持oracle 单实例以及Oracle RAC,支持Oracle 10g,11g。

    即将上线的数据库如何来评估其性能呢,swingbench是除了Benchmark Factory for Databases的不二之选,可以用短小精悍来形容,而且完全免费,也不用成天到晚google注册码,还等什么呢,赶紧来瞧瞧......

一、swingbench介绍

   是JAVA程序,当前分为两个版本,一个是2.3,一个是2.4,支持windons/linux/unix平台,测试了一下win7 64平台,运行不太稳定
   支持oracle 单实例以及Oracle RAC,支持Oracle 10g,11g。运行环境需要安装oracle 客户端或者instant client
   包含OrderEntry, SalesHistory, CallingCircle and StressTest几个种子数据库,具体描述参见作者网站
   软件由load generator,coordinator,cluster overview组成,可以生成负载以及事务,响应时间并以图表方式展示

   从作者网站下载swingbench,http://www.dominicgiles.com/downloads.html

   如果下载最新的2.4版,则需要安装java(6) 1.6或以上版本,无需修改任何配置文件。
   如果下载2.3版本的则,则需要安装java 1.5或以上版本则需要修改swingbench.env配置文件

   由于2.4的版本直接运行即可(安装java 6以及Oracle客户端),因此本文以2.3版本进行描述。

二、安装前的准备工作

1、确认安装的平台与java,oracle相关配置
  oracle@SZDB:~> cat /etc/issue     #查看系统版本
  
  Welcome to SUSE Linux Enterprise Server 10 SP3 (x86_64) - Kernel \r (\l).
  
  oracle@SZDB:~> java -version   #使用这个方式即可确认jave当前的版本
  java version "1.5.0_22"
  Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_22-b03)
  Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_22-b03, mixed mode)
  
  SZDB:/ # find / -name java |grep jdk   #查看java路径
  /usr/java/jdk1.5.0_22/bin/java
  /usr/java/jdk1.5.0_22/jre/bin/java
  /users/oracle/OraHome10g/jdk/bin/java
  /users/oracle/OraHome10g/jdk/jre/bin/java

  oracle@SZDB:~> env | grep ORACLE_HOME
  ORACLE_HOME=/users/oracle/OraHome10g

2、安装配置swingbench
  使用ftp工具将下载的zip文件上传导linux服务器,本文使用的为winscp。
  上传解压后的路径及文件如下:
  oracle@SZDB:~/robinson/swingbench> pwd
  /users/oracle/robinson/swingbench
  oracle@SZDB:~/robinson/swingbench> ls
  bin  lib  README.txt  source  sql  swingbench.env  swingbenchenv.bat  winbin
  oracle@SZDB:~/robinson/swingbench> vi swingbench.env
  #!/bin/bash
  # Set the following to reflect the root directory of your Java installation
  export JAVAHOME=/usr/java/jdk1.5.0_22    #修改此路径为正确的路径
  # Set the following to the directory where you installed swingbench
  export SWINGHOME=/users/oracle/robinson/swingbench  #修改此路径为正确的路径
  # Set the following to the location of your TimesTen install (optional)
  export TTHOME=/opt/TimesTen/tt70
  # If you don't have the ORACLE_HOME environment variable set uncomment the following and change it to reflect your environment
   export ORACLE_HOME=/users/oracle/OraHome10g  #修改此路径为正确的路径
  #
  export ANTHOME=$SWINGHOME/lib
  export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib:$TTHOME/lib
  export CLASSPATH=$JAVAHOME/lib/rt.jar:$JAVAHOME/lib/tools.jar:$SWINGHOME/lib/mytransactions.jar:
    ${SWINGHOME}/lib/swingbench.jar:$ANTHOME/ant.jar:
  # The following is needed for 10g environments
  export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/ojdbc14.jar:$ORACLE_HOME/opmn/lib/ons.jar
  # The following is only needed for 11g environments
  export CLASSPATH=$CLASSPATH:$ORACLE_HOME/jdbc/lib/ojdbc5.jar
  # The following is only needed for TimesTen environments
  export CLASSPATH=$CLASSPATH:$TTHOME/lib/classes15.jar

3、安装soe schema
  启动Xmanager - Passive,也可以直接remote到linux后执行命令以期用GUI界面
  oracle@SZDB:~/robinson/swingbench> export DISPLAY=192.168.7.133:0.0
  oracle@SZDB:~/robinson/swingbench> cd bin
  oracle@SZDB:~/robinson/swingbench/bin> ./oewizard   #使用GUI向导安装oe schema
  soe@SYBO2SZ> @dba_tables_user   #检查安装soe的结果
  
  Table Name                     Tablespace                   Last Analyzed           # of Rows
  ------------------------------ ---------------------------- -------------------- ------------
  CUSTOMERS                      SOE                          16-NOV-2012 16:11:31    1,000,411
  INVENTORIES                    SOE                          16-NOV-2012 16:11:48        5,760
  LOGON                          SOE                          16-NOV-2012 16:11:48            0
  ORDERS                         SOE                          16-NOV-2012 16:11:55    1,000,000
  ORDER_ITEMS                    SOE                          16-NOV-2012 16:12:13    3,503,005
  PRODUCT_DESCRIPTIONS           SOE                          16-NOV-2012 16:12:20          288
  PRODUCT_INFORMATION            SOE                          16-NOV-2012 16:12:20          288
  WAREHOUSES                     SOE                          16-NOV-2012 16:12:20           20
  
  #Author : Robinson
  #Blog : http://blog.csdn.net/robinson_0612
  oracle@SZDB:~/robinson/swingbench/bin> ./swingbench  #开始实施swingbench
  Started Swingbench, Version 2.3.0.422. Using config file swingconfig.xml
  BI Beans Graph version [2.7.5.32] Engine version [2.7.5.32]

三、图示描述

1、OE 安装向导

执行./oewizard启动安装向导

         

设定连接字符串以及指定sysdba帐户

       

设定创建OE schema 对应的表空间及数据文件路径,可以勾选使用分区选项,下面的图示未使用分区

       

设定创建表的行数

       

开始创建用户以及用户上的对象

       

创建OE 的输出日志

       

成功创建OE schema

       

2、实施swingbench

命令提示符下,输入./swingbench,启动swingbench界面,首先配置连接

       

接下来可以指定连接的用户数据以及最小最大延迟,此处保留缺省,设定benchmark的时间为10分钟

       

实时性能图表

       

点击output选贤卡,查看输出结果,也可以点击file菜单,save summary results来保存结果

       

下面是想关统计信息

       

 Swingbench 2.4的图示更加形象一些。大家可以下载2.4版本测试。 

目录
相关文章
|
20天前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
7天前
|
存储 Oracle 关系型数据库
Oracle同一台服务器创建多个数据库
【8月更文挑战第30天】在 Oracle 中,可在同一服务器上创建多个数据库。首先确保已安装 Oracle 软件并具有足够资源,然后使用 DBCA 工具按步骤创建,包括选择模板、配置存储及字符集等。重复此过程可创建多个数据库,需确保名称、SID 和存储位置唯一。创建后,可通过 Oracle Enterprise Manager 进行管理,注意服务器资源分配与规划。
19 10
|
16天前
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
55 1
|
10天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之Oracle数据库是集群部署的,怎么进行数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
16天前
|
Oracle 关系型数据库 数据库
Oracle数据库备份脚本分享-Python
Oracle数据库备份脚本分享-Python
13 0
|
23天前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
30天前
|
SQL Oracle 关系型数据库
"揭秘!一键解锁Oracle日志清理魔法,让海量归档日志无处遁形,守护数据库健康,告别磁盘空间告急噩梦!"
【8月更文挑战第9天】随着Oracle数据库在企业应用中的普及,归档日志管理对保持数据库健康至关重要。归档日志记录所有更改,对数据恢复极为重要,但也可能迅速占用大量磁盘空间影响性能。利用Oracle提供的RMAN工具,可通过编写Shell脚本来自动清理归档日志。脚本包括设置环境变量、连接数据库、检查和删除指定时间前的日志,并记录执行情况。通过Cron作业定时运行脚本,可有效管理日志文件,确保数据库稳定运行。
59 7
|
27天前
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。
|
30天前
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
69 2
|
2月前
|
Oracle 安全 关系型数据库

推荐镜像

更多
下一篇
DDNS