swingbench 是一个基于 Java 的 Oracle 性能够压测工具,由 Oracle UK 的一个工程师开发,它是一个免费的工具,可以在如下地址下载:
http://www.dominicgiles.com/downloads.html .
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 支持多种操作系统平台,包括 windows , linux , AIX 等。目前最新的版本是 2.6 , swingbench 的安装非常简单,下载压缩包,解压后目录结构如下:
使用 oewizard 准备压测数据:
oewizard 支持图形化配置向导:
. /oewizard
Connect String 是数据库连接字符串,填入对应的主机名或 IP 地址,接 Oracle 的 service_name 。 DBA password 处输入 sys 用户的密码。
选择 tablespace SOE 对应的 datafile (数据文件)
设置并发度。
点击 Finish ,等待数据加载完成。
oewizard 也支持命令行格式,例如如执行如下命令:
./oewizard -scale 10 -create -noncompress -cs //10.59.6.93:1521/orcl -dbap sys -ts SOE -tc 128 -hashpart -allindexes -u soe -p soe -cl -v
开始性能压测:
./swingbench
修改 connect string ,配置 server monitoring 相关配置参数,调整 transtions 的 load ratio 、 number of users 。
可以收集数据库信息,生成 awr 报告。
可以在 output 标签上查看压测结果
测试结果对比生成 html 文件,用 bmcompare 工具
参考资料:
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞0
添加新评论0 条评论