农民 发表于 2024-11-15 00:41:44

Jmeter 性能测试之门路式场景、波浪式场景

推荐阅读:

[内部资源] 想拿年薪30W+的软件测试人员,这份资料必须领取~
Python自动化测试全栈+性能测试全栈,挑战年薪40W+
1 门路式场景(负载测试)
该场景主要应用在负载测试内里,通过设定肯定的并发线程数,给定加压规则,遵循“缓起步,快竣事”的原则,不断地增长并发用户来找到系统的性能瓶颈,进而有针对性的举行各方面的系统优化。
利用到的线程为:jp@gc - Stepping Thread Group (deprecated)
在测试筹划上:右键—>添加—>线程(用户)—>jp@gc - Stepping Thread Group (deprecated)
https://i-blog.csdnimg.cn/blog_migrate/8c5e4b54826fd857c2ff8fe5751b7a42.png
同时添加以下监督器:
HPS:每秒哀求数 --- jp@gc - Hits per Second
TPS:每秒事务数 --- jp@gc - Transactions per Second
TRT:事务相应时间 --- jp@gc - Response Times Over Time
活跃线程数--- jp@gc - Active Threads Over Time
复合图查看器--- jp@gc - Composite Graph
https://i-blog.csdnimg.cn/blog_migrate/e75e2351c38b21be57d9c06ce34a44cf.png
针对门路式场景的参数配置,说明如下:
·This group will start:给定的当前负载的并发用户数
·First, wait for:等待XX秒后开始启动
·Then start:0秒(初始化)启动XX并发用户数 — 在第几个假造用户启动
·Next, add:每using ramp-up时间内启动XX的用户数
·threads every:每次加压门路下用户完成启动后保持运行XX秒
·using ramp-up:XX秒内完成Next, add的用户数的启动
·Then hold load for:This group will start并发用户数全部启动完成后保持运行XX秒 == 所有线程运行完成后再执行XX秒
·Finally, stop:每隔threads every的时间减少XX用户数
·threads every:每隔XX秒减少Finally, stop的用户数
默认设置参数如下:
https://i-blog.csdnimg.cn/blog_migrate/95d333f0df2a228ffb385096bd832dc5.png
注:
(1)红框地域是增长线程过程,5秒钟启动10个线程,这10个线程持续运行30秒,再用5秒钟启动10个线程,这20个线程持续运行30秒
(2)绿框地域是线程释放过程,每隔1秒停止5个并发用户数直到100个并发用户数减少为0
https://i-blog.csdnimg.cn/blog_migrate/cef1000d51b43be59be8ddc8b3828f26.png
2 波浪式场景(压力测试)
该场景主要用在分段时间压测和压力测试内里,分段时间压测好比点餐系统,一天会出现用餐高峰期、平稳期和闲时区,针对该场景我们就要设计成差别时间段的压力值差别,加压方式差别等等,压力测试我们只需要利用一个场景,并将压测时间设置长即可,同样的测试报告也用jpgc的监督器得到
  利用到的线程为:jp@gc - UItimate Thread Group
  在测试筹划上:右键—>添加—>线程(用户)—>jp@gc - UItimate Thread Group
https://i-blog.csdnimg.cn/blog_migrate/b04c96a5c7310d69854aff0f13e5bbc3.png
针对波浪式场景的参数配置,说明如下:
·Start Threads Count:给定当前时间段的并发用户数
·Initial Delay, sec:初始化时间,单位:秒(s)
·Startup Time, sec:启动时间,单位:秒(s)
·Hold Load For, sec:所有并发用户数启动完成后保持运行的时长,单位:秒(s)
·Shutdown Time:竣事时间,单位:秒(s)
分段时间压测参数(示例):
从0秒 开始,30秒 启动 50个 假造用户,运行 60秒 后,10秒 停止50个假造用户  == 第一阶段耗时100秒
从100秒 开始,15秒 启动 200个 假造用户,运行 120秒 后,10秒 停止 200个 假造用户 == 前两个阶段总耗时 245 秒
从 245秒 开始,30秒 启动 50个 假造用户,运行 60秒 后,20秒 停止 100个 假造用户  == 前三个阶段总耗时 385秒
... ... ... ...
https://i-blog.csdnimg.cn/blog_migrate/66d5aeaa87e899b64f9416b8c6b16275.png
压力测试(示例):
  从0秒 开始,60秒 启动 300个 假造用户,运行 500秒 后,10秒 停止300个假造用户 
https://i-blog.csdnimg.cn/blog_migrate/e98015b139f9c9085b4668c668b74fab.png
3 服务器监控
服务器监控插件:
jp@gc - PerfMon Metrics Collector
需要在服务器安装:ServerAgent
https://i-blog.csdnimg.cn/blog_migrate/80a10b2105b3e2c3e3c3dbf97b38bbdc.png
服务器资源监控线形图
https://i-blog.csdnimg.cn/blog_migrate/b181ac7f910ad6967b070bcb297f4dba.png

https://i-blog.csdnimg.cn/blog_migrate/e8efeef8152243bc51b07e067b473cc3.png
用于监控呆板的CPU、Memory、Disks I/O、Networks I/O 性能指标值
服务器性能监测控件,包罗CPU,Memory,Network,I/O等等(此功能用到在需监听的服务器上启动startAgent)
根据需要选择CPU,Memory,Network I/O等
1、下载并安装ServerAgent
链接:
https://pan.baidu.com/s/1onSuUgev0q3OdB-odj8ftg
提取码:6666
2、通过xftp方式把包上传到服务器上,解压
--1)上传压缩包到服务器建议公司环境安装目次下或opt目次下
--2)解压命令:unzip ServerAgent-2.2.3.zip
--3)进入解压后的文件:cd ServerAgent-2.2.3
--4)查看所有文件:ll
--5)启动文件:./starAgent.sh
注:启动ServerAgent时,需要ROOT权限
启动ServerAgent时,需要在其对应目次下启动
在监控服务器性能时,需要一直是启动状态
3、更改端口并启动服务:
Linux 下启动:./startAgent.sh  回车就可以启动,默认的端口是4444
若默认端口4444被占用,则需要指派端口 (阿里云服务器4444端口是毗连访问不到的)
端口可以自定义,大于1024即可
启动>>
./startAgent.sh --udp-port 0 --tcp-port 4445
4、启动服务后去检查防火墙是否关闭
--1)服务器\防火墙是关闭状态那就没有标题
--2)启动防火墙:systemctl start firewalld
--3)关闭防火墙:systemctl stop firewalld
--4)检查防火墙状态:systemctl status firewalld
--5)假如没有关闭防火墙,那么就需要关闭或执行下面的命令把端口添加到防火墙内
防火墙添加开放端口:
firewall-cmd --permanent -add-port=4445/tcp
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Jmeter 性能测试之门路式场景、波浪式场景