性能测试工具
1、Jmeter直连数据库
JMeter连接数据库的前提
由于JMeter本身没有提供链接数据库的功能,所以我们需要借助三方的工具包来实现。也就是下载JMeter链接MySQL数据库的JAR包:mysql-connector-java.jar。需要根据自己MySQL的版本下载对应驱动,尽量保证其版本和你数据库的版本一致,至少不低于数据库版本,否则可能有问题。
MySQL各版本驱动JAR包下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/
1、以Mysql数据库为例,数据库测试需要加载JDBC驱动。方式一:在测试计划面板点击“浏览…“按钮,将你的JDBC驱动添加进来。方式二:将MySQL驱动jar包放入到lib/ext目录下,重启JMeter。
2、配置数据库连接信息:数据库连接池名称、数据库URL(协议+数据库IP+数据库端口+连接的数据名称)、数据库驱动包、数据库用户名和密码。
添加方式:测试计划 --> 线程组–> (右键添加) 配置元件 --> JDBC Connection Configuration
3、添加JDBC请求:数据库连接池名称、Query Type、SQL语句、查询结构保存的变量名。
添加方式:测试计划–>线程组–>取样器–> JDBC Request
Jmeter逻辑控制器
if控制器
循环控制器:
线程组属性控制循环次数和循环控制器区别?
线程组控制是线程组下的所有请求,线程其实就是对应的用户数量 ,循环次数,就是每个线程重复的次数 。而循环控制器控制逻辑控制器下的所有请求 ,循环挂在控制器下方的操作 。
各逻辑控制器相关用法,可参考博主链接:https://www.cnblogs.com/Y-1024/p/17085150.html
定时器
Synchronizing Timer 同步定时器
其作用是:阻塞线程,直到指定的线程数量到达后,再一起释放,可以瞬间产生很大的压力(可以用于绝对并发测试,即同一“时刻”对某一个服务施加多少用户请求,这里的“多少用户”指线程数,这样更容易测试出线程资源挣用导致的死锁等问题)
参数:
1)Number of Simulated Users to Group by:模拟用户的数量,即指定同时释放的线程数量;
2)Timeout in milliseconds:超时时间,即超时多少毫秒后同时释放指定的线程数(即时没有达到前面设置的线程数量),如果为 0 将一直等待,直到达到前面设置的线程数量
可参考博主链接:https://cloud.tencent.com/developer/article/1553135