一、监控服务器资源方法
方案一:利用Jmeter第三方插件监控
1、通过插件管理下载第三方插件,PerfMon,监听器会新增jp@gc PerfMon Metrits Collector(第三方插件安装步骤可参考Jmeter第三方插件管理工具安装教程_HealerLX的博客-CSDN博客)
2、在被测服务器上安装server-agent软件,解压后有3个批处理文件,startAgent.bat监控Windows,startAgent.ssh监控Linux/Mac系统
3、Jmeter添加如下插件,并配置IP 端口(固定4444) 监控指定指标 监控指定进程的CPU
方案二:利用Linux内部的命令和工具监控
1、启动serverAgent :sh startAgent.sh(运行失败则可尝试关闭防火墙:service firewalld stop,公司实战则找运维处理)
2、命令行执行 jmeter -n -t 脚本路径 -l 结果路径.jtl
3、jmeter添加察看结果树、汇总报告、聚合报告、PerfMon,直接在察看结果树中点击浏览选择生成的jtl文件
【注意】
使用命令行执行的时候,不能让jp@gc PerfMon Metrits Collector生成结果,因为jtl文件没有结果
处理方法:在脚本中增加PerfMon插件监控并配置好,结果生成路径即可
二、性能测试类型
1、负载测试(一般情况下,负载测试优先于压力测试执行)
通过在测试过程中不断的调整负载,找出在多少用户量情况下,系统会出现性能下降的拐点,也可称为容量测试
①多用户瞬间高压,同时执行被测脚本
②长时间的高负载,运行脚本2、3天
负载测试设置图如下
2、压力测试/强度测试
让项目中用户常用的功能进行高负载的测试,防止局部崩溃问题
压力测试:模拟狭义的并发(集合点),一般使用同步定时器完成,同步定时器使用方法可参考:Jmeter-同步定时器使用方法及含义_HealerLX的博客-CSDN博客
三、结果指标概念解释
1、 汇总报告
Label:取样器名称(或者是事务名)
样本:取样器运行次数(提交了多少笔业务)
平均值:请求(事务)的平均响应时间,单位为毫秒
最小值:请求的最小响应时间,单位为毫秒
最大值:请求的最大响应时间,单位为毫秒
标准偏差:响应时间的标准方差
异常%:事务错误率
吞吐量:即TPS。==>每秒事务数==单位时间内的事务数接收KB/sec:每秒数据包流量,单位是KB。发送KB/sec:每秒数据包流量,单位是KB。
吞吐率:(有些公司也称为TPS)处理能力,相当于速度,单位时间的上传下载数据量,与并发数是完全独立的概念
QPS:每秒查询率,属于TPS的子集
资源利用率:CPU利用率,过低没有利用好服务器的性能,过高内存溢出,性能调优的关键指标, CPU使用率<85% 内存利用率 <75-85% 磁盘I/O
平均字节数:平均数据流量,单位是Byte平均字节数*#样本=吞吐量
2、聚合报告
中位数:(50%百分位)有50%的值位于该值之下,即所有请求load time的集合排序后的中间数
90%百分位:有90%的值位于该值之下
95%百分位:有95%的值位于该值之下
99%百分位:有99%的值位于该值之下(汇总报告中,标准偏差很大,使用百分位的值作为参考
标准偏差:反应的是系统稳定性,举例如下
1,11,6平时值是6 5,6,7平均值是6 6,6,6平均值是6
标准偏差很大 标准偏差很小 标准偏差为0