1、Swingbench介绍

Swingbench是常用的一款进行压力测试和基准测试的软件,旨在对Oracle数据库(12c,18c,19c)进行压力测试。该软件可以生成负载并绘制事务/响应时间图表。SwingBench附带的代码包括6个基准,即OrderEntry,SalesHistory,TPC-DS Like,JSON,CallingCircle和StressTest。

当SwingBench附带的6个基准代码无法满足压力测试要求时,可以使用Swingbench提供的 SQLBuilder 工具和 Java API 来进行压力测试的定制化开发。

2、SQLBuilder工具

2.1.启动SQLBuilder

进入swingbench目录的winbin文件夹中,点击“sqlbuilder”,启动SQLbuilder工具。

下图为SQLBuiler工具的界面。

2.2.添加新的SQL语句

点击页面上的➕号图标,添加新的SQL语句。

DML语句类型部分,可以选择select、insert等等。

可以为SQL语句添加参数部分;

可以为SQL语句添加参数部分;

点击保存按钮,可以将内容保存为XML文件;

2.3.案例分享

按照客户的业务模式,组织了一段PL/SQL语句,通过sqlbuilder功能保存为test.xml文件。

3、Swingbench调用xml文件

使用swingbench来调用自定义的xml文件。

点击swingbench批处理文件,启动swingbench软件。

在配置文件部分,选择“TPCDS Like Workload”,点击“OK”

在“Environment Variables”中,将“STATEMENT_CONFIG_FILE”的Value修改为正确的xml文件位置,如:“C:\Testing\swingbench\bin\test.xml”

填写正确的数据库连接配置信息后,swingbench访问数据库成功。 修改Number of Users部分,可以调整和数据库建立的连接数量。点击绿色箭头按钮,启动压力测试。

Events部分可以观察到事务运行情况,同时伴随着图形化展示。

4、总结

通过Swingbench软件的SQLBuilder工具,工程师们可以自定义压力测试的SQL语句。实现更加有针对性的测试场景。使用 JAVA API 也可以自定义压力测试场景,定制功能则更加强大。