jmeter测试达梦数据库性能

一、配置jmeter

jmeter安装包:

链接:https://pan.baidu.com/s/1yEjfAfYE8dAPmaiAMJSsIw 
提取码:mlbv 

1、配置jdk

2、解压apache-jmeter-5.1.1.rar

3、打开jmeter

该版本jmeter为免安装版,在bin下双击jmeter.bat即可。

 

二、配置测试计划

2.1导入已存在测试计划

如果已存在配置好的配置计划,直接打开测试计划即可。

 

如果打开了多个线程组,又只需要执行其中一个,建议把其他的线程组禁用,不然所有线程组都会执行。

2.2手动创建测试计划

2.2.1配置jdbc驱动

驱动建议用安装达梦数据库自带的驱动,位置一般为xx/dmdbms/driver

 

2.2.2新建线程组

 

 

当前配置是创建10个线程,每个线程执行1次。

实际测试要300个线程组,update50W,所以可以设置Number of Threads=300,Loop Connt=500000/300 。

如果打开了多个线程组,又只需要执行其中一个,建议把其他的线程组禁用,不然所有线程组都会执行。

2.2.3新建连接配置

配置达梦url串、驱动类、数据库账号、密码

 

 

2.2.4添加jdbc请求

 

 

本例测试的是数据库的更新操作,直接压数据库,一般压测,其实是压应用,这样才能真实地反应出应用实际耐压状况,毕竟站在用户的角度,用户是直接操作应用,而不是直接操作数据库。

2.2.5新建监听

 

直接保存即可,可以监控执行情况。

2.2.6执行

 

可根据startTime判断起止时间。

下次执行记得clear

2.2.7另存

创建好后,可以把测试计划保存出来,以便以后使用。

 

 

三、动态参数

有时候测试不想把参数都设置为常量,想测试动态参数性能,可以通过读取csv文件试下,也可以通过随机数实现。

3.1jmeter读取csv参数化文件

3.1.1准备参数

说明:参数可以直接在csv中设置,也可以先在excel中配置,再另存为csv文件,这样不容易出错。

第一组数据要重写一遍,为了解决CSV参数化读取第一个数据有错的问题。

 

3.1.2添加HTTP信息头管理器

注意:非http请求可以省略这一步。本例中是直接在sql中动态调用参数,可以不设置http信息头管理器

 

 

此功能是为了通过服务器的Json类型合法性校验。

3.1.3添加和配置CSV Data Set Config

 

 

Filename:参数化要引用的文件名

Variable Names(comma-delimited):变量名(用逗号分隔)

Ignore first line:忽略首行(只在设置了变量名称后才生效),设置为false的话取第一个值可能会报错

Delimiter(use’\t’ for tab):参数文件中多个变量值的分隔符,\t表示用tab键分隔,默认是逗号;

3.1.4调用参数

 

插入和查询都支持

3.1.5执行

效果如下:

 

3.1.6补充

当请求数大于数据源数量时,Jmeter会自动循环读取数据,本次测试的第15请求就是读取的第一行的数据。

这是因为在csv配置中,设置了 recycle on EOF 为true;stop thread on EOF为false,

当Jmeter读完了一轮数据时,还有线程待运行,那么线程会循环读取csv的数据。

3.1.7字母和中文类型

 

 

注意:b.csv不要用中文逗号隔开,不然会把逗号前后的内容当作一个整体。

utf-8  字母的话设置为gb2312也行,中文要设置为utf-8

b1,b2,b3,b4,b5

insert into "BCIP_REPORT_TRANTOTAL_DAY" ("ID","DEV_ID","ORG_ID","ORG_NAME","TRAN_TYPE") values

(${b1}, ${b2}, ${b3}, ?, ?)   需要特殊处理的字符或者中文类型,用问号代替,然后在parameter values和parameter types里处理一下。

${b4},${b5}

varchar,varchar

如果想设置多行values,有几个问号也设置几次parameter

3.2随机数

3.2.1使用jmeter自带的函数生成

打开jmeter右上角的函数助手,找到_RandomString函数。

3.2.1.1随机字符串

将随机生成的字符串存储在 str 变量中,可通过 ${str} 引用。

 

Length   生成字符串的长度       必填

Characters to use  用于生成字符串的字符       非必填

Variable Name      引用变量名    非必填

随机会生成任意字符,什么乱七八糟的字符都会生成;包括特殊字符、中文、特殊汉字等。

3.2.1.2随机数字

 

复制生成的参数

${__Random(9,9999,random9)}

粘贴到需要的设置参数的位置

3.2.2随机变量

允许用户创建一个在线程组范围之内都可以被引用的随机变量

右键线程组->添加->配置元件->Random Variable

创建随机变量,最小值1,最大值99999999

调用随机变量:

 

 

 

 

更多资讯请上达梦技术社区了解: https://eco.dameng.com

 

posted @ 2024-12-10 14:59  心冰之海  阅读(16)  评论(0编辑  收藏  举报