在产品功能和性能测试过程中,为了验证某些场景,需要构造大量的数据表,插入大量数据,进行并发查询,除了可以使用存储过程进行循环批量创建表/插入数据外,我们还可以利用jmeter压测工具来快速高效地实现批量建表/批量插入数据/并发查询,下面为大家详细介绍具体操作。
下载地址:jmeter官网
下载apache-jmeter-5.6.3.zip到本地后,解压,本地安装配置好jdk1.8即可。
从dm安装目录的\drivers\jdbc下面找到DmJdbcDriver驱动文件复制到jmeter的lib目录下,使用哪个版本的驱动文件根据JDK版本确定,比如我使用的是JDK1.8,所以复制对应的DmJdbcDriver18.jar:
启动jmeter,创建测试计划,在测试计划下添加配置元件-JDBC Connection Configuration:
在JDBC连接配置元件中,设置以下参数:
DM
jdbc:dm://10.8.83.21:5236
dm.jdbc.driver.DmDriver
创建线程组,在线程组中添加取样器-JDBC Request
在JDBC Request中,设置以下参数:
在线程组中添加监视器-查看结果树,执行线程组,检查数据库是否可以正常连接:
使用场景:在搭建DM读写分离集群后,要测试读写分离集群配置的读写分离分发比例是否生效;
设置方式:
基于第一步的设置,修改JDBC Connection Configuration中的Database URL,设置分发比例为20%,配置如下:
jdbc:dm://10.8.83.21:11236?rwSeparate=1&rwPercent=20
基于第一步的设置,修改JDBC Request中的query语句为:
select mode$ from v$instance;
调试通过后,设置线程组的循环次数为100次,为了比较好的查询测试结果,给JDBC Request添加断言,设置的断言是响应文本包含STANDBY,所以失败的响应结果就是PRIMARY)
使用场景:在测试数据库连接工具时,需要测试对象导航树中子节点数量太大时,节点展开速度和节点超过500条时出现查看全部对象的按钮,这时需要批量构建大量的数据库表来用于测试;
设置方式:
在第一步的基础上,新建一个线程组,然后选中线程组右键-添加-配置原件-随机变量,批量生成表时表名不能重复,随机变量用于在生成表时表名不重复:
在JDBC Request中,设置以下参数:
在线程组中添加监视器-查看结果树,执行线程组,检查JDBC请求是否可以成功执行:
执行完成后,可以看到表已经生成成功了
使用场景:在测试数据库时,需要往业务表中插入大量数据
设置方式:
在第一步的基础上,新建一个线程组,然后选中线程组右键-添加-配置原件-随机变量,批量插入数据时数据不重复:
在JDBC Request中,设置以下参数:
在线程组中添加监视器-查看结果树,执行线程组,检查JDBC请求是否可以成功执行:
执行完成后,可以看到数据已经插入成功了
文章
阅读量
获赞