性能测试--jmeter使用

性能测试–jmeter使用

一、环境安装

1、jdk(1.8以上)
2、jmeter 下载地址: https://jmeter.apache.org/

二、jmeter各文件的作用

在这里插入图片描述

三、jmeter启动

在这里插入图片描述

四、content-type编码种类

在这里插入图片描述

五、jmeter基本使用
1、jmeter脚本的组成
  1. 线程组
  2. 取样器
  3. 监听器
2、新建线程组

测试计划-右键
在这里插入图片描述
在这里插入图片描述

3、新建取样器

线程组-右键
在这里插入图片描述
在这里插入图片描述
参数设置:
默认格式的参数:
在这里插入图片描述
其他格式的参数(json/xml)
在这里插入图片描述

4、添加消息头

线程组-右键/新建的取样器-右键
在这里插入图片描述
在这里插入图片描述

5、添加监听器

线程组-右键/新建的取样器-右键
在这里插入图片描述

6、关于编码

参数/请求的内容编码设置
在这里插入图片描述
还可以在Content-Type中设置
在这里插入图片描述

7、脚本的录制

1)badboy录制(不常用)
2)jmeter录制
参考博客:https://blog.csdn.net/qq_28817739/article/details/88081000

8、参数化
引用:

${参数名}
在这里插入图片描述

定义

用户定义的变量:
1)线程组:
当前线程组-右键
在这里插入图片描述
在这里插入图片描述
2)测试计划
点击测试计划
在这里插入图片描述
3)两者的区别
线程组的变量只作用于当前线程组,不可跨线程组
测试计划的变量作用于整个测试计划
如果两者都存在,遵循临近原则
4)两者的相同点
加载当前测试计划或者线程组时只被读取一次,以后所有的线程都会使用第一次读到的数据,相当于全局变量
用户参数:
当前线程组-右键
在这里插入图片描述
在这里插入图片描述
与用户定义变量的区别:
每执行一次线程都会重新读取,相当于局部变量

csv文件或者txt文件的使用
线程组–右键
在这里插入图片描述
在这里插入图片描述

9、常用的函数

函数的格式: ${__函数名()}
常见的函数:
${__Random(min,max,赋值的变量)} 随机数在这里插入图片描述
${__property(,)} 获取属性
在这里插入图片描述
${__setProperty(,)} 设置属性
在这里插入图片描述
${__time(yyyymmdd,)} 时间函数
在这里插入图片描述
${__digest(md5,)} 加密函数
在这里插入图片描述
${__V(,)} 拼接两个变量

在这里插入图片描述

10、json提取器

右键–取样器
在这里插入图片描述
在这里插入图片描述

10、正则提取器

在这里插入图片描述
在这里插入图片描述

11、断言

在这里插入图片描述
可以使用这种形式去匹配上面提取出来的值,其中value为上面存贮的变量

11、插件的使用

1、下载 jmeter-plugins-manager https://jmeter-plugins.org/install/Install/
2、将 jmeter-plugins-manager-1.3.jar 包放到jmeter安装目录lib/ext里面,重启jmeter
会发现选项下面出现插件管理
在这里插入图片描述
jpgc插件的使用
下载jpgc
在这里插入图片描述
jpgc线程组负载测试折线图分析
在这里插入图片描述
在这里插入图片描述
负载测试遵循 缓起步,快结束
jpgc线程组波峰或者压力测试折线图分析
在这里插入图片描述
在这里插入图片描述

六、分布式

前提: 保证其他机器和本机的jdk、jmeter版本一致,网络放在同一个局域网下
控制机的配置:
jmeter.properties
➢server_ port = 1234 (自己定义的)
➢server.rmi.port = 1234 (同上)
➢server.rmi. ssI. disable= True(去掉认证)
➢linux 下bin目录赋予执行chmod +x -R bin/
➢bin启动:
linux下:sh jmeter-server.sh -Djava.rmi. server.hostname=127.0.0.1 (若出现连接不上使用本机的ip)
windows下: jmeter-server.bat -Djava.rmi. server.hostname=127.0.0.1 (若出现连接不上使用本机的ip)
➢配置防火墙:
linux: systemctl stop firewalld.service (关闭防火墙)或者 开放你上面设置的端口
windows:关闭防火墙

主控机配置:

jmeter.properties:
➢remote_ hosts= 助攻机器ip:端口 多台机器用逗号隔开
➢server.rmi.ssl.disable=true
➢mode=Standard 可选 打开标准模式 可以查看日志
➢重启jmeter

启动远程管理:
在这里插入图片描述
总的线程数 = 主机线程数 * 受控机的个数

七、ant + jenkins 持续集成

ant 安装及配置
1、 下载 ant 包,解压 http://ant.apache.org
在这里插入图片描述
2、 打开系统环境变量, 添加 ANT_HOME 为 ant 路径, 在$PATH 中添加%ANT_HOME%\bin
3、 修改 jmeter 的 jmeter.properties jmeter.save.saveservice.output_format=xml
4、 jmeter 的 extras 文件夹中的 ant-jmeter.***.jar 拷贝到 ant 的 lib 文件夹中 用 于 发邮件
5、 验证环境配置: 进入 jmeter 的 extras 文件夹下, 运行 cmd, 输入: ant.bat-file build.xml -Dtest=Test 如果一切成功, 说明配置好了, 没有成功, 就具体问题具体分析
6、 修改 build.xml 文件
进入 jmeter 的 extras 文件夹, 找到 build.xml 文件, 修改该文件
jenkins安装及配置
1、jenkins 安装
2、下载 ant 插件
3、系统管理-> GlobalTool Configuration 配置 Ant 路径
在这里插入图片描述
4、 新建一个任务, 选择 freestyle project
5、 在任务的‘构建’中, 选择 invoke ant ,targets 要填写 build.xml 中的 antcall 的值, 保存应用
在这里插入图片描述
6、build.xm文件的修改
在这里插入图片描述
在这里插入图片描述

八、无界面

命令:
执行本地脚本: jmeter -n -t 脚本.jmx -l report.jtl -e -o reportdir(测试报告保存路径)
-n: (non gui mode)无图形界面模式
-t: testplan待执行的测试计划jmeter -n -t \script\csvRead.jmx
-l: 输出结果报告文件路径文件名(.jtl/.csv) -g: 输出报告文件(.csv)
-r/R: 分布式指定机器ip分压运行(jmeter -n -t ‘脚本jmx’ -r -l report.jtl)
-j: 指定执行日志路径
-H:指定代理服务区域名或ip
-P:指定代理服务器端口
-e:测试结束后,生成测试报告
-o:指定测试报告的存放位置

九、性能测试分析

1、设计场景
阶梯式(负载测试) —找出性能指标
波浪式(压力测试) — 验证性能指标
2、监听器
用于收集性能分析的数据
例如:
TPS图表、聚合报告\汇总报告、查看结果树、响应时间、吞吐量、服务器资源监控: cpu、内存、磁盘io
3、分析:
分析思路:服务器硬件瓶颈(保证服务器的硬件资源和生产的相匹配)->网络瓶颈->服务器操作系统瓶颈(参数配置、数据库、web服务器) ->应用瓶颈(sq语句、数据库设计.业务逻辑、算法)
[由外而内、由表及里、层层深入]
1)查看结果树发生错误
比如无法连接服务器:a、在当前并发的时候服务器崩溃 b、应用连接数过高 c、数据库连接数过高
比如连接超时:返回的数据量太大
2)聚合报告、汇总报告
最大值、最小值、方差
a、差异很大说明有问题,不能达到预期
b、差异很小,正常
3)tps
随之并发的增加,tpc先增后降 说明在某一并发下,服务器出现瓶颈
3)响应时间
随之并发的增加,响应时间缓慢增加,某一时刻陡然上升,服务器出现瓶颈
4)资源利用率,一般以 平均使用80%界限进行测试
随之并发的增加,资源利用率逐渐上升,最后饱和。

十、性能测试流程

1、测试准备
需求分析--------熟悉业务
明确性能测试目标
了解软件功能、架构
制定测试模型
指定测试计划,做好工作量评估
2、搭建测试环境
工具选项与准备
被测系统环境搭建(服务器、服务版本更新、数据库数据准备)
网络配置
3、脚本开发
协议
制作脚本
调试脚本
验证脚本
4、测武执行
5、结果分析与调优
6.测试结果与结果跟踪

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值