oracle 压测工具 ld,swingbench-免费的oracle性能压测工具

SwingBench介绍:

SwingBench由负载生成器,协调器和集群概述组成。该软件使得能够生成负载并且将图表的事务/响应时间映射。

SwingBench可用于演示和测试诸如实际应用集群,在线表重建,备用数据库,在线备份和恢复等技术

SwingBench附带的代码包括6个基准,OrderEntry,SalesHistory,TPC-DS Like,JSON,CallingCircle和StressTest ..

OrderEntry基于Oracle11g / Oracle12c附带的“oe”模式。它已被修改,以便不需要安装Spatial,Intermedia架构。它可以连续运行(直到你用完了空间)。它在少量表上引入了大量争用,旨在强调互连和内存。它使用位于bin目录中的“oewizard”进行安装。基准测试都存在纯jdbc和pl / sql(较低的网络开销)变体。

SalesHistory基于Oracle11g / Oracle12c附带的“sh”架构,旨在测试复杂查询在对大型表进行运行时的性能。它是只读的,可以按照从1GB到1TB的默认大小进行缩放。自定义模式还允许创建更小和更大的模式

CallingCircle(不建议使用)模拟为在线电信应用程序生成的sql。它需要在每次运行之前将数据文件从数据库服务器生成并复制到负载生成器,通常需要1到8 GB的磁盘空间。两个基准都是cpu密集型。经验表明,您至少需要1台处理器的负载发生器到数据库服务器的每两个处理器。它旨在强调cpu和内存,而不需要强大的I / O子系统。它使用位于bin目录中的“ccwizard”进行安装

StressTest只是根据一个熟知的表来触发随机插入,更新,选择和更新。

JSON Stresstest基于对机场之间飞行的人员进行建模的简单JSON文档。它遵循基本的CRUD模型。

TPC-DS喜欢Benchmark是类似于TPC-DS的基准。它在单独的配置文件中具有查询和事务工作负载。

SwingBench下载:

SwingBench官方网址:http://www.dominicgiles.com/swingbench.html,可以download下最新2.6版本的SwingBench,需要先安装好jdk8,可以直接从oracle官网下载rpm安装即可。SwingBench包文件解压后如下:

loading.png图片20170801111918.png" alt="wKioL1mAH66Tu6jfAABw2dC3Nq0785.png-wh_50" src="https://s4.51cto.com/wyfs02/M00/9D/6F/wKioL1mAH66Tu6jfAABw2dC3Nq0785.png-wh_500x0-wm_3-wmp_4-s_42154859.png">

生成测试数据:

以order entry为示例:

图形界面生成测试数据和压测:

cd/tmp/swingbench/bin

./oewizard

loading.png

选择version2.0, next

loading.png

选择create the order entry schema,next

loading.png

配置connect string、username和password, next

loading.png

配置tablespaces的datafile, next

loading.png

配置schema的size,next

loading.png

默认值为cpu个数*2,next

loading.png

点击yes,next

loading.png

开始运行sql脚本生产测试数据,这里需要等待。

loading.png

数据已成功生成,接下来可以做压测了。

loading.png

开始性能压测:

cd/tmp/swingbench/bin

./swingbench

修改connect string,配置server monitoring相关配置参数,调整transtions的load ratio、number of users。

loading.png

可以收集数据库信息,生成awr报告。启动压测

loading.png

可以在output标签上查看压测结果

loading.png

也可以在将结果保存在bin目录下,XML格式

loading.png

测试结果对比生成html文件,用bmcompare工具

loading.png

loading.png

命令行界面生成测试数据和压测:

[root@oraclebin]#time./oewizard-cl-create-scale1-cs//oracle:1521/xcky-dbasystem-dbaporacle-usoe1-psoe1-tssoe-df/u01/app/oracle/oradata/xcky/soe.dbf-tc4-s

ThefollowingstatementFailed:GRANTEXECUTEONdbms_lockTOsoe1:Dueto:ORA-01031:insufficientprivileges

ThefollowingstatementFailed:begin

$IFDBMS_DB_VERSION.VER_LE_10_2

$THEN

--Usethedefaultstatscollectionapproach

dbms_stats.gather_schema_stats(

OWNNAME=>'SOE1',ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE,BLOCK_SAMPLE=>TRUE,METHOD_OPT=>'FORALLCOLUMNSSIZESKEWONLY',DEGREE=>4,GRANULARITY=>'ALL',CASCADE=>TRUE);

$ELSIFDBMS_DB_VERSION.VER_LE_11_2

$THEN

--Oracle11grelease2.Emableconcurrentstatscollection

dbms_output.put_line('databaseversionislessthanorequalto11.2');

DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT','TRUE');

DBMS_STATS.SET_TABLE_PREFS('SOE1','WAREHOUSES','INCREMENTAL','INVENTORIES','PRODUCT_INFORMATION','PRODUCT_DESCRIPTIONS','ORDERENTRY_MetaDATA','CUSTOMERS','ADDRESSES','ORDER_ITEMS','ORDERS','logoN','TRUE');

DBMS_STATS.GATHER_SCHEMA_STATS('SOE1');

$ELSIFDBMS_DB_VERSION.VER_LE_12

$THEN

--Oracle12c.ConcurrentStatscollectionworkslightlydifferentinthisrelease

executeimmediateq'[ALTERSYSTEMSETRESOURCE_MANAGER_PLAN='DEFAULT_PLAN']';

executeimmediateq'[ALTERSYSTEMSETJOB_QUEUE_PROCESSES=4]';

DBMS_STATS.SET_GLOBAL_PREFS('CONCURRENT','MANUAL');

DBMS_STATS.SET_TABLE_PREFS('SOE1','TRUE');

DBMS_STATS.GATHER_SCHEMA_STATS('SOE1');

$END

end;

:Dueto:ORA-20001:Invalidinputvaluesforpname

ORA-06512:at"SYS.DBMS_STATS",line26595

ORA-06512:at"SYS.DBMS_STATS",line26751

ORA-06512:atline17

============================================

|DatageneratorRunStats|

============================================

ConnectionTime0:00:00.004

DataGenerationTime0:03:18.996

DDLCreationTime0:03:47.528

TotalRunTime0:07:06.530

RowsInsertedpersec60,836

DataGenerated(MB)persec5.0

ActualRowsGenerated13,002,033

PostCreationValidationReport

===============================

Thecreationoftheschemaappearstohavebeenunsuccessful.Seethefollowingsectionsforfurtherdetails.

ValidObjects

=============

ValidTables:'ORDERS','CARD_DETAILS'

ValidIndexes:'PRD_DESC_PK','PROD_NAME_IX','PRODUCT_INFORMATION_PK','PROD_SUPPLIER_IX','PROD_CATEGORY_IX','INVENTORY_PK','INV_PRODUCT_IX','INV_WAREHOUSE_IX','ORDER_PK','ORD_SALES_REP_IX','ORD_CUSTOMER_IX','ORD_ORDER_DATE_IX','ORD_WAREHOUSE_IX','ORDER_ITEMS_PK','ITEM_ORDER_IX','ITEM_PRODUCT_IX','WAREHOUSES_PK','WHS_LOCATION_IX','CUSTOMERS_PK','CUST_EMAIL_IX','CUST_ACCOUNT_MANAGER_IX','CUST_FUNC_LOWER_NAME_IX','ADDRESS_PK','ADDRESS_CUST_IX','CARD_DETAILS_PK','CARDDETAILS_CUST_IX'

ValidViews:'PRODUCTS','PRODUCT_PRICES'

ValidSequences:'CUSTOMER_SEQ','ORDERS_SEQ','ADDRESS_SEQ','logoN_SEQ','CARD_DETAILS_SEQ'

ValidCode:

InvalidObjects(1)

================

InvalidTables:

InvalidIndexes:

InvalidViews:

InvalidSequences:

InvalidCode:'ORDERENTRY'

MissingObjects(0)

================

MissingTables:

MissingIndexes:

MissingViews:

MissingSequences:

MissingCode:

SchemaCreated

real7m51.663s

user3m23.913s

sys0m24.096s

[root@oraclebin]#./charbench-usoe1-psoe1-uc1-min10-max200-rt00:01-a-s-rscale1_100user.xml

SwingBench官网上除了提供swingbench压测工具外,还提供了其他监控oracle数据库的小工具,例如cpumonitor、dbtimemonitor、monitorDB、datagenerator等

monitorDB工具:

cd/tmp/MonitorDB/bin

修改配置文件monitordb.xml,将Username、Password和ConnectString进行配置后保存,启动程序。

./monitordb

loading.png

如dbtimemonitor工具:

cd/tmp/dbtimemonitor/bin

修改配置文件databases.xml,将Username、Password和ConnectString进行配置后保存,启动程序。

./dbtimemonitor

loading.png

如cpumonitor工具:

cd/tmp/cpumonitor/bin

修改配置文件cpu.xml,将HostName、Username和Password修改后保存,启动程序

./cpumonitor

loading.png

参考资料:

http://blog.csdn.net/xiaofan23z/article/details/7978998

http://www.dominicgiles.com/swingbench.html

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以使用Swingbench这个工具Oracle 19C进行压力测试Swingbench是一个免费的负载生成器和基准测试工具,它支持Oracle数据库(11g、12c、18c、19c)。您可以从Dominic Giles的官方网站上下载Swingbench工具\[2\]。下载完成后,您可以按照以下步骤进行压力测试: 1. 进入Swingbench的安装目录,通常是`/home/oracle/tmp/swingbench/bin`\[1\]。 2. 执行`./swingbench`命令启动Swingbench应用程序。 3. 在Swingbench应用程序中,您可以修改数据库连接串、用户连接数设置,并勾选要测试的选项。 4. 开始测试,Swingbench将会模拟负载并生成性能指标供您参考。 请注意,Swingbench的主要开发目的是展示RAC的负载和测试,但也可以在单实例环境中使用\[2\]。希望这些信息对您有帮助! #### 引用[.reference_title] - *1* *2* [牛刀小试--Oracle Swingbench 压力测试](https://blog.csdn.net/JiekeXu/article/details/125551013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [oracle压力测试工具SwingBench](https://blog.csdn.net/jycjyc/article/details/117739790)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值