jmeter做个性能测试小记

性能测试的前提(主要确定是否需要做性能测试):

  1、性能测试必要性研究

  主要是关键项的评估:

  ①监管部门要审查的 

  ②涉及到生命财产安全的 

  ③大型新系统 

  ④核心系统

  ⑤架构调整 

  ⑥业务剧增 

  ⑦重大缺陷修复

2、可测性

  可量化为性能指标值

 

性能测试主要指标

1、响应时间:请求发起到收到结果的时间

2、并发数

3、吞吐量/吞吐量

4、tps:每秒通过事务数(数量,没有单位)(PS:单个接口请求下,并发用户数会与tps接近)

(QPS:每秒通过的请求数(单接口下与tps相同,多接口不同)

5、资源利用率

CPU、内存、磁盘 IO 的使用情况, 每个核使用率不能超过80%

 

 

性能测试的必备条件

1、网络要求性能测试、工具、服务 在同一个网络下  (内网(同一个zoom域)  或  外网)

2、独立的环境

 

jmeter的安装

1、下载安装

官网下载地址:http://jmeter.apache.org/download_jmeter.cgi

选择binary版本即可。
下载完成后解压到你希望的位置。
注:jmeter需有Java环境支持,不同版本对Java版本的要求不同,记得选择对应版本

 

 

2 、配置环境变量

    “计算机”图标右键选择“属性”->点击高级系统设置->高级->环境变量->系统变量

1) 创建JMETER_HOME,值是JMeter的解压路径;

2) 如果没有classpath则新建,在classpath 变量添加以下中括号内容(注意分号):

【%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;】

 

3 启动jmeter

进入解压目录的bin文件下,双击jmeter.bat,启动JMeter。可将jmeter.bat发送到桌面快捷方式,方便打开。
使用时不要关闭命令窗口

 

4、修改jmeter版本语言

jmeter安装目录\bin\jmeter.properties,找到第40行,添加配置【language=zh_CN】后重启jmeter

 

 

 

5、插件安装

下载plugins-manager.jar,官方下载地址:https://jmeter-plugins.org/downloads/all/

完成后将jar包放在jmeter安装目录下的\lib\ext文件夹中,启动jmeter,plugins manager出现在选项下。

 

 

 

jmeter工具介绍 

线程组

1、普通线程组

一般找到拐点后,直接使用普通线程组压测

 

 

 

2、setupping thread group -  递增式场景

一般可用来寻找拐点

 

 

 

3、Ultimate Thread Group - 波浪形场景

适用场景比如:饭点人数多,非饭点人数少的场景

 

 

 

 

http默认请求

    一个线程组可能有很多个请求,我们需要给每个请求配置协议、服务器IP、端口号等等,如果这些请求都是向同一台服务器发送请求的话,可以将这些共同的、重复的内容放在【HTTP请求默认值】中,线程组内的请求就不用每次都配置这些了。只需要写不同的部分就好了。

    添加HTTP请求默认值:

 

 

添加http请求默认值

 

 

线程组下添加http请求

添加查看结果树

 

 

点击执行,则可看到执行结果

 

 

 

提取器

1、json提取器

变量使用:${token}
如果要提取多个值,各项配置内容以分号间隔

 

 

 

2、正则提取器

正则表达式:

(.)换行符以外所有的字符

* 多次

? 1次

.* 0次或多次

.+ 1次或多次

[0-9] 匹配1个数字

[0-9]+ 至少匹配1次

\d+ 匹配0到多个数字

\w+ 匹配多个字母和数字

 

 

 

性能测试流程

1、测试准备

——需求分析(熟悉业务)

——明确性能目标

——了解软件功能、架构

——指定测试模型

——指定测试计划,做好工作量评评估

2、搭建环境

——工具选项与准备

——被测系统环境搭建(服务器、服务版本更新、数据库数据准备)

——网络配置

3、测试脚本开发

——协议

——制作脚本

——调试脚本

——验证脚本

4、测试执行

5、结果分析与调优

6、测试结果与测试跟踪

 

数据准备

设计场景:

阶梯式、波浪式

监视器(根据性能指标需要):

TPS图表、聚合报告\汇总报告、查看结果树、响应时间、吞吐量、服务器资源监控

分析思路:

服务器硬件瓶颈 --> 网络瓶颈 --> 服务器操作系统瓶颈(参数配置、数据库、web服务器) --> 应用瓶颈(sql语句、数据库设计、业务逻辑、算法)

 

性能分析

步骤1、查看结果树有没有报错

步骤2、聚合报告、汇总报告查看

        最大值、最小值、标准方差

        差异很大:说明有问题,不能达到预期

        差异很小:均衡,说明正常

步骤3、趋势图分析

①tps趋势图

直接下降:不能满足测试的并发数,需要降低并发数

(这种场景一般出现在用普通的线程,可以先试50个,不行再试25个。如果阶梯式的,可以慢慢增加,比如每次增加10个)

 

先上升后下降:(寻找拐点比较合适)

阶梯式并发数逐步增加,tps慢慢增加,突然下降之后,这个顶点(A)就是拐点(如图)。

方法:根据横坐标轴的B区间的时间,去查看这个时间段内共执行了多少个线程,在用这个线程范围内的数量,再做一次,找到一个基本准确的并发值

 

 先下降再上升:没有这种情况

 

②响应时间(趋势图)

发起请求+收到请求时间 (看运行时间的最大值,是否符合要求)

 

直接下降:一开始就特别高,然后一直下降

(如果阶梯式设计不太合理(比如一共100线程,一开始启动80, 或者一开始0个,突然加50)会出现这种情况)

 

 

先上升后下降:任务已经结束,或者服务器宕机

 

 

 

先下降后上升

 

③吞吐量/吞吐率(趋势图)

直接下降:处理不过来了,或者网络问题

先上升后下降:比较正常(随着用户量增加,吞吐量会随着上升,达到一定数量之后,才会降下来。在拐点位置也是需要看的—)

先下降后上升:没这回事

 

④服务器资源监控(趋势图)

最大值不能超过80%

(PS:偶尔只有一个点超过80%,可以先不管,多个超过了需要分析,需要先检查服务器)

 

 

 

 

 

 

 

posted @ 2022-08-30 10:31  小町  阅读(306)  评论(0编辑  收藏  举报