前期准备
1. JMeter的插件的安装
下载Jmeter Plugins Manager对插件进行管理
(1)下载地址:https://jmeter-plugins.org/install/Install/
(2)下载后,将jar包放到jmeter包目录下/lib/ext目录下
(3)重启Jmeter,点击【选项】,就能看到插件管理器了
2.ServerAgent安装
将ServerAgent-2.2.0上传到被测服务器(根目录或任意位置),解压,进入目录,Windows环境,双击startAgent.bat启动;mac、linux环境执行startAgent.sh启动,默认使用4444端口(如果没有执行权限,可先赋予执行权限:chmod 777 startAgent.sh)
A:关闭占用4444端口的进程,再次启动ServerAgent服务,成功。
查看接口占用情况
lsof -i:4444 //查看4444端口被占用情况
关闭被占用的接口
kill -9 2103 //kill -9 PID
B:使用命令改变ServerAgent服务的默认端口:./startAgent.sh -udp-port 0 -tcp-port xxxx (xxxx为新端口号)
./startAgent.sh -udp-port 0 -tcp-port xxxx
- startAgent启动
将ServerAgent 文件夹下的startAgent.sh拖到终端中,然后回车
3.修改jmeter参数
修改配置文件jmeter.properties、jmeter.bat
路径:/Users/mac/Documents/apache-jmeter-5.6.2/bin
3.1 jmeter.properties修改输出格式、保留响应数据等
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
3.2 修改jmeter内存jmeter.bat
重启Jmeter
一、JMeter监控使用
添加--监听器
1. TPS 和 RT(响应时间)
TPS(Transactions per Second)和RT(Response Times Over Time)直接增加就可以
运行效果:
2. (ServerAgent)监控服务器的性能:CPU,内存
使用PerfMon Metrics Collector
- 2.2.1 PerfMon Metrics Collector设置
- 2.2.3运行脚本
监控图的作用主要是:
1.看趋势,找性能拐点
2.写性能测试报告
二、实际性能压测的场景设置
1.单接口基准测试
使用一个用户测试接口5分钟。
目的:为了在没有任何压力的情况下:查看各项性能指标。
单接口基准测试,一般响应时间不超过100ms
2.单接口负载测试场景
通过逐渐的对一个接口进行施压直到出现性能拐点。 获得被测接口的最大处理能力以及它的相关的性能指标。
单接口负载测试,一般不做,只有在怀疑某个接口有问题时,才去监测
3.混合负载压测场景
(不是只有一个场景,有多个)
目的是为了验证整个业务的最大的最优的性能体现。重点在于模型的设计。模型来自于数据(来自生产环境的日志或者产品经理给出的)。
压测策略/压测场景/压测用例:
3.1 Stepping Tread Group 逐步加压
之前的脚本复制到Stepping Tread Group
this group will start(启动多少个线程):100
First wait for(等待多少秒才开始压测) :一般为0
Then start (一开始有多少个线程数):一般为0
(比较重要:下面 3 个一般一起用 )
Next , add :10
threads every :30
using ramp-up :5
每5秒启动10个虚拟用户数,每组数据持续运行30秒
(也是重要的参数)
Then hold load for :60
全部加载完成后,负载运行60秒。
(在企业中,负载测试 10~30 分钟,压力测试 4~24 小时--------4/8/12/24 小时比较常用)
(下面两个一起用)
Finally stop:5
threads every : 1
每一秒停止5个虚拟用户数。
3.2 集合点设置(并发)
3.3 运行结果
超过时间集合释放了
4. 压力测试场景:
验证系统的极限。直到有任何一个性能指标超出预期。
5. 稳定性测试场景。
在压力测试的场景下持续的运行4-24个小时。
三、无界面压测(NON GUI )
上面的测试时间较长,修改如下,可以比较快的看到结果:
1. 压测
终端进入脚本.jmx所在位置,输入以下指令:
jmeter -n -t jmeter2024.jmx -l result001.jtl
运行结果:
2.生成报告
参数:
重新启动DOS窗口,进入路径,输入指令:
jmeter -n -t jmeter2024.jmx -l result001.jtl -e -o reports
jtl报告通过 jmeter的聚合报告导入查看
直接查看报告
3.集群压测
两个参数:用于分布式集群压测
运行--远程启动:可以看到远程的服务器
命令:
jmeter -n -t jmeter2024.jmx -l result.jtl -e -o reports -r
jmeter -n -t jmeter2024.jmx -l result.jtl -e -o reports -R 192.168.0.24:1001
4. 查看Linux服务器的性能
市面上 90% 的服务器是Linux服务器
mac连接Linux服务器
windows连接Linux服务器
(1)windows先连接Linux服务器
下载并安装一些常用的SSH客户端软件,例如PuTTY或Xshell
(2) 输入指令top:
效果
(3)指令htop:
四、搭建JMeter+Grafana+Influxdb实时监控
(mac)性能监控平台搭建JMeter+Grafana+Influxdb
jmeter中,添加“监听器 -> 后端监听器”
通过后端监听器,将聚合报告的值通过 influxdb采集,在grafana中显示出来
监控效果: