1.定时器
1.1 同步定时器
作用:阻塞线程使同时达到n个线程之后再发出请求,模拟高并发的场景。
路径:右键请求--添加--定时器--Synchronizing Timer
2.2 常数吞吐量定时器
作用:模拟服务器负载,即需要服务器以一个固定的负载量运行时,测稳定性
路径:右键请求--添加--定时器--Constant Throughput Timer
测试时需要将线程的循环次数设置为永远并设置持续时间。
2.3 固定定时器
作用:延时,类似于sleep()
路径:右键请求--添加--定时器--固定定时器
2.分布式
2.1 JMeter分布式原理
2.2 配置
2.3 执行
2.4 案例:一台主机控制两台从机向百度发送请求:
JMeter是免安装的,这里复制多份相当于有多个JMeter服务,满足了主机和从机之间JMeter版本必须一致,再加上是同一台电脑,也满足JAVA版本一致
2.4.1 从机1配置
2.4.1.1 修改端口
因为是同一台电脑需要启动多个JMeter服务,所以不能使用默认的端口,如果是多台电脑,那么可以省略这一步
2.4.1.2 关闭RMI SSL
2.4.1.3 启动从机1JMeter服务
启动 jmeter-server.bat 而不是 jmeter.bat ,后者是主机需要启动的服务
2.4.1 从机2配置
这里将从机2端口设置为2002,其余配置和从机1相同。
2.4.2 主机配置
2.4.2.1 配置从机IP地址和端口
2.4.2.2 关闭RMI SSL
2.4.2.3 启动JMeter服务
主机启动 jmeter.bat 或者通过命令行输入 jmeter启动
2.4.2.4 启动从机
这里需要点击 运行--远程启动所有 才能让从机执行任务,点击绿色的运行只是主机自己执行!
3.查看聚合报告
我们发现六个性能指标:响应时间,吞吐量,错误率,并发数,点击数,资源利用率 除了点击数和资源利用率没有在报告上之外,其他都可以通过报告查看。并发数通过设置线程组的线程数设置
4.生成测试报告
这个命令可以通过启动JMeter时的cmd窗口查看
5.并发量计算
5.1 稳定性测试时的并发量计算
5.1.1 平均值
TPS = 访问页面数 / 运行时长,比如一个商城每天一共有四万个人查看页面,它的TPS=40000 / (60*60*24) = 0.46
5.1.2 二八原则
意思是百分之八十的访问都在百分之二十的时间内完成,比如一个商城每天一共有四万个人查看页面,它的TPS=40000 * 80% / (60*60*24*0.2) = 2.31
5.2 压力测试时的并发量计算
TPS = 峰值时的访问量 / 时间 * 系数,比如一个商城每天一共有四万个人查看页面,但是在晚上八点到九点就有五千个访问量并且为当天访问量最高的时间,那么它的
TPS = 5000 / (60*60) * 3 = 4.16,系数3是一个估算,模拟未来用户数增长或者功能变多,相当于预估未来的并发量。
5.3 案例:
6. 常用插件
管理插件需要下载 jmeter-plugins-manager并放到exd目录下
6.1 3basic graph
Basic Graphs 插件安装后,增加了三个监听器:
1.Transactions per Second:TPS:每秒事务数
2.Response Times Over Time:TRT:事务响应时间
3.Active Threads Over Time:统计每秒活动的线程总数
6.2 5 Additional Graphs:
主要显示吞吐量,连接时间,每秒的点击数等
6.3 Custom Thread Groups
阶梯式加压,图形化显示请求的状态
6.4 PerfMon
监控服务器的性能指标,如CPU,内存,磁盘等。