线程组:是用来对场景进行设计
线程数:并发用户数,1代表1个人,10就代表10个人,但是超过10000,电脑消耗资源过高,一台电脑最多线程数不会超过1500
Ramp-Up:1代表1秒钟内产生并发用户数,如果线程组为100,Ramp-Up为20,代表20秒内产生100个并发用户数
一般来说,线程数在100以内,时间可以设置在1秒,线程数在500以内,时间可以在2秒,如果线程数是1000,时间可以在3秒
如果设计时间太短,有可能电脑没有足够资源产生并发用户,也有可能产生的用户太多,发送大量请求导致出错
如果设计时间较长,代表生成用户时间间隔较长,比如100个线程时间为10秒,就等于每秒生成10个,如果时间为20,就等于每秒生成5个
循环:1代表每个并发用户执行1次脚本
调度器:每隔并发用户持续运行脚本的时间,需要把循环次数设置成永远
代表2秒钟之内产生500个并发用户,每隔用户要执行脚本12秒
拓展:5个用户循环100次,和100个用户循环5次,哪种对服务器压力更大?
答案:100个用户循环5次对服务器压力更大,因为并发用户数越大,造成的压力越大
5个用户循环100次,只是用时比较长但是同时访问服务器的人数不多
100个用户循环5次,同时访问服务器的人数多
负载测试场景设计回顾:负载测试是逐步增加并发用户数向服务器发起请求,找到并发用户数的拐点区间
负载测试插件
下载jmeter plugins manager.jar,放到lib/ext目录下
重启jmeter后点击选项
在Available Plugins中搜索jpgc 加空格,然后点击Apply
阶梯场景设计
添加线程组
横坐标(X)表示运行时间,纵坐标(Y)表示用户数
表示从0到10个并发用户所用的时间
表示10个用户持续运行的时间
添加脚本
添加监听器
随着时间变化活跃线程数的图
随着时间变化的响应时间图(毫秒)
TPS(每秒处理事务)图
波浪形场景
能够实现一定规律的并发用户高峰
添加线程组
制造第一波高峰
制造第二波高峰
资源监控
上传serveragent.zip到服务器
禁用udp端口 设置tcp端口
设置防火墙
方式1:关闭防火墙 systemctl stop firewalld.server
方式2:添加开放端口
添加监控器
分布式
jmeter在一台电脑最多生成1000以内的并发用户,如果再多,就没有资源再生成,要想生成更多并发用户,就要使用分布式
分布式就是多台机器一起承担并发用户,比如要生成2000并发用户,有2台机器,那么分布式就能让每台机器承担1000个
如果有4台机器 每台机器就承担500个,分摊了自身的压力
前提:
1,jmeter版本一致 5.1.4
2,jdk大版本要一致 1.8.*
3,插件要一致
4,在同一个局域网
5,csv文件
直接把jmeter文件夹打包传给助攻机器
配置助攻机器(slave)
修改并启用(去掉#或者添加一行)
Server_port = 7911(自己修改,大于1024)
Server.rmi.port(认证端口) = 7931
启动服务:
命令在助攻机器的jmeter的bin目录下运行命令
禁用防火墙或者添加上面设置的端口
在本机Telnet助攻机器ip检查是否能连接
修改主控配置(master)
把master也设置成slave,只需要配置slave的设置就行
远程启动slave
持续集成
Jenkins+ant+jmeter
配置系统变量
Path
jenkins插件安装
安装performance 和 ant 插件
配置ant
Ant默认勾选install,要反选
创建任务
构建选择invoke ant
选择之前设置好的ant版本,并且填入jmeter中build.xml文件的路径
修改build.xml里的内容
主要修改的是jmeter的路径
生成报告的路径
测试脚本的路径
无界面运行
右键使用cmd打开命令行
命令行输入
Jmeter -n(无图形) -t(测试计划) (bin里面存放脚本的文件路径)(脚本名称.jmx) -l(输出文件) (文件路径)(文件名).jtl) -e -o (文件路径(文件夹名)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)