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