JMeter压力测试
分布式压测:
普通演策:单台机可以对目标机器产生的压力比较小,受限因素包括CPU、网络、IO等
分布式压测:利用多台机器向目标机器产生压力,模拟几万用户并发访问
JMeter 分布式压测原理
1、总控机器的节点master,其他产生压力的机器叫“肉鸡”server
2、master会把压测脚本发送到server上
3、执行的时候、server上只需要JMeter-server打开就可以了,不用启动JMeter
4、结束后、server会把压测数据回传给master,然后master汇总输出报告
5、配置详情
JMeter组件:线程组
A:是什么?
进程:一个正在执行的程序,对应一个进程
线程:进程中的执行线索(一个进程有多个执行线索)
线程组:按照线程性质对线程进行分组
并发执行:多个线程同时执行,特点:执行结束的顺序和线程的启动顺序不一定一致
顺序执行:按照线程的启动顺序挨个执行
B:怎么用?
1、三者关系:进程有多个线程组,线程组可以有多个线程
进程---测试计划
线程组---线程组
线程---线程组属性的线程数
2、默认情况下,线程组中的线程是并发执行的
没一个线程都要执行组内的http请求
3、怎么设置线程组顺序执行
勾选测试计划的第一个复选框(独立运行每个线程组)
C:练习:增删查改
可以使用http请求默认值抽取共同的ip端口号 协议 编码集等信息
测试计划--右击--添加--配置元件--http请求默认值
作用:通过复用属性简化实现,提高测试效率
D:线程组高级(初始化与销毁线程组)
线程组属性
1、线程数--模拟用户数
2、时间值--在指定时间内启动所有的线程
3、循环数-单个用户访问的次数
调度器
1、循环次数设为永远
2、设置启动延迟X和持续时间Y
在X秒后访问服务器,并且持续Y秒
3、设置启动时间M和结束时间N
在M时开始访问,在N时结束
注意:2和3 不能同时使用,否则产生矛盾
E:JMeter组件:参数化概念
1、是什么?
参数化就是动态的获取并设置数据
3、为什么?
比如执行批量操作时,批量插入或批量删除,之前数据都是手写
每次执行完毕都需要修改,效率太低
参数化就是可以以程序代替人工获取并设置数据:安全+高效
F:JMeter组件:参数化实现之CSV data set conifer(重要)
1、是什么?
JMeter参数化实现组件之一
2、为什么?
通过这个组件可以动态获取并设置数据,实现类似批量添加操作(执行一次,讲多条数据插入数据库)
3、怎么用?

浙公网安备 33010602011771号