jmeter性能测试的场景设计

1.线程属性的解读

①线程数:代表模拟的用户数量

注意线程数不宜一开始设置的太大,然后根据线城市设置启动时间100以内1-2s,1000个2-3秒。

设置1个线程数,循环次数设置多次,这种不算是性能测试;需要设置多线程数,模拟多用户向服务器发起请求,才算性能测试。

②Ramp-Up时间:代表的是线程数准备时间(设定的时间内,线程数向服务器发送请求,例如:设置30个线程数,Ramp-Up时间设置为2,那么2秒结束后30个线程数已经向服务器发送请求,并不等于每秒启动15个线程数,有可能前面一秒启动n个线程数,第二秒启动30-n个线程数,总之2秒结束设置的线程数都会发送完请求),那么设置这个时间有什么意义呢?举例说明吧,比如设置了1000个线程数,启动时间设置为1秒,那么服务器在这1秒钟承受的压力会很大,有可能服务器还没时间分配足够的资源导致报错(这种报错原因是因为场景设置的原因导致的);如果设置时间增加一点,那么请求在这段时间内持续发送,服务器有缓冲时间,服务器压力会小一些,就不会出现抖动的现象。

③循环次数:代表的是线程组需要向接口发送多少次重复的请求,如果选择“永远”,那么线程数会一直发送请求,直到强行停止才会停止stop(有可能后面的发送的请求会报错);不过一般“永远”会和调度器一起使用,在调度器中设置持续时间,到了时间循环就会停止(这种情况因为不是强行停止,就不会出现报错的情况)

线程属性的解读

强行停止会报错

强行停止

因为强行停止,导致后面的接口请求失败

强行停止导致报错

强行停止,导致后面的请求报错,异常列中就会有异常信息

异常信息

④调度器:当循环次数设置“永远”时,强行停止会后面的接口请求失败,导致收集的数据有问题,所以一般不推荐强行停止,这时候就需要调度器了,勾选调度器,设置持续时间,到了时间后线程会自动停止。

设置调度器

线程组会持续10s的时间,向服务器不断发送请求,时间结束后自动停止,且不会报错。( jmeter执行的时期   取样器的执行顺序是从上往下的顺序执行   用单用户调接口 从查看结果树中 可以看到        在做性能测试时      用的是多用户并发    同一时间点   不同虚拟用户可能做的事情不一样   所以此时 查看结果树中显示的  不会按照取样器的从上往先显示     但是每个并发用户自身对于取样器的执行顺序还是从上往下的)

请求

异常列中也没有统计到异常信息的百分比

异常

2.秒杀场景设计

秒杀场景设计

3.负载测试场景设计(逐步增加压力,看服务器的最大平衡值(逐步增加并发用户数))

因为负载测试,需要逐步增加压力,也就是逐步增加线程数,通过手工增加的方式很不方便,这个时候需要安装这个插件:jmeter-plugins-manager-1.3.jar,让线程数自动增加。


jmeter-plugins-manager-1.3.jar

将其拷贝到自己安装的jmeter的lib\ext路径下即可

拷贝到jmeter安装路径的lib\ext下

然后重启jmeter,就会加载这个jar包,点击选项--就可以看到plugins manager

plugins manager


插件管理

插件安装,在Available Plugins下安装jpgc - Standard Set这个插件


安装插件

勾选插件后,点击改变和重启jmeter按钮


安装插件后会重启

安装成功后,重启jmeter后,就会看到增加了很多线程组

新增的线程组

负载测试阶梯式场景:使用阶梯式线程组

阶梯式场景

阶梯式线程组的参数解读


参数解读

添加监听器(之前的插件安装了以后,才会有这些监听器)

添加监听器

配置阶梯线程组参数,然后用之前的登录接口为例

配置参数


以之前的登录接口为例


添加一些监听器

然后执行脚本查看结果


活跃线程数图


每秒响应时间的值


tps图


用表格查看结果


汇总报告

接下来要做的就是对数据的分析


波浪形场景设计(终极场景)

添加线程组

选择终极场景线程组

点击add row,添加一行数据到线程工作计划中


添加一行线程工作计划

线程工作计划中的参数解读

参数解读


设置参数(模拟有规律的波浪形的请求,例如外卖平台订餐场景,有时间规律的请求;某段时间向服务器发起请求,然后请求数下降,然后再向服务器发送请求,再下降,向服务器发起波浪形的请求冲击,主要是验证服务器稳定性)

设置参数

设置的场景线程组不重叠(即第一组线程组运行完成后,第二组线程组才启动,那么第二组的初始时间要大于第一组所消耗的总时间)

线程组不重叠

设置的线程组重叠(即第一组线程组还没运行完,第二组线程组就启动,在某段时间内,两个线程组会同时执行)

设置的线程组重叠

同样以之前登录接口为例,来进行波浪形场景的负载测试


添加取样器、配置原件和监听器

执行线程后查看结果

活跃线程数

每个时间点对应的相应时间的值

每个时间点对应的相应时间的值

TPS图

TPS图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容