当前位置: 首页 > news >正文

性能测试2【搬代码】

1.性能测试脚本完善以及增强
2.jmeter插件安装以及监控使用
3.性能压测场景设置(基准、负载、压力、稳定性)
4. 无界面压测场景详解

一、性能测试脚本完善以及增强
使用控制器的目的是使我们的脚本更加接近真实的场景
1.逻辑控制器:
【事务控制器】:将几个接口放入事务控制器下面可以将他们的数据平均数相加
事务控制器页面
如果Generate parent sample不勾选,聚合报告会显示事务下的接口数据和独立的事务总和1
如果Generate parent sample勾选,聚合报告会仅显示设置事务下接口数据总和2
【仅一次控制器】:
如果有10个用户,线程组循环次数=10;聚合报告样本只显示10.
3
4
【吞吐量控制器】:
Based
Total Executions:(默认)按百分比分配流量
5
6
percent Executions:代表总次数7
8
定时器:
【固定定时器】:
9
【统一随机定时器】:
10
【高斯随机定时器】:
11
3.集合点:

jmeter叫做同步定时器,用于实现并发;位置:线程组-添加-定时器-Synehronising Timer【同步定时器】
12
13
达到设置数量后才会发送数据14
15

4.简单的压一压:
线程数:虚拟用户数100
Ramp-UP:多久加载完虚拟用户数。20
循环次数:3
每个接口的总请求:100*3=300个
16
二、安装插件
安装插件工具jmeter-plugins-manager-1.9.jar
插件下载地址:https://jmeter-plugins.org/downloads/all/
https://jmeter-plugins.org/install/Install/
17PerfMon Metrics Collector使用原理:
1.需要在服务器安装一个ServerAgent.zip,用于收集服务器的性能参数。
然后通过4444端口输出
2.在PerfMon Metrics Collector组件中通过4444端口区捕获服务器性能参数。

linux上传ServerAgent.zip
在Linux中进入任意一个目录
cd /xxx 到该目录下
rz 上传包命令
mkdir ServerAgent 创建文件夹
unzip ServerAgent.zip -d ServerAgent 解压ServerAgent.zip到指定文件夹ServerAgent中
cd ServerAgent 进入文件夹
ls  后可以看到startAgent.sh这是Linux中的启动
chmod 777 startAgent.sh 给startAgent.sh一个可执行权限
sh startAgent.sh & 启动startAgent.sh 其中&的意思是在后台运行
当启动后出现Binding TCP to 4444说明服务启动成功
systemctl stop firewalld.service 然后关闭防火墙
然后在jmeter中监听器PerfMon Metrics Collector启用
点击Add Row :Host/ip 输入服务器ip,端口port:4444,在Metric to collect中选择你要看cpu还是内存Memory
然后点击启动蓝色按钮,就可以看到检测服务器的监控图了。
监控图的作用主要是:
1.看趋势,找性能拐点
2.写性能测试报告

18
三、实际性能压测的场景设置
场景:性能测试用例
1.旧系统来自于运维
2.新系统来自于合理的预估
按场景预估和规矩预估;做OA,总用户10000个,测试打开功能做并发,8:30-9:00打开比较多
按照2/8原则:半个小时并发8000个人,8000/1800=4.44约等于5,最多50并发
一般大部分公司很难超过500.5000以上、1万、十万一定要集群
.
服务器(集群)和压力机(集群)
1.但接口基准测试:使用一个用户测试接口5min。
目的:为了在没有任何压力的情况下:查看各项性能指标。
每个项目关注的数据都是不一样的
cpu内存、网络磁盘、tps响应时间,除了这些还有一些如下图所示:
19
一般就这些
2.单接口负载测试场景:
(测试计划和方案一般会写在一起,上面是计划下面是方案
测试计划:是人员测试的安排
测试方案:怎么测,关注哪些指标,用什么工具去测。)
通过逐渐的对一个接口进行施压直到出现性能拐点。(这个拐点不是指其中的一块,有可能是CPU的、 中间件、数据库、慢查询锁表等,只要有任何一个地方出现拐点,我们就会把他记录下来,最大的并发量就在这里确定了)获得被测接口的最大处理能力以及相关的性能指标
3.混合负载压测场景;
目的是为了验证整个业务的最大的最右性能提现。终端在于模型的设计。模型来自于数据,来自于生产环境的日志,或者产品经理给的
怎么做:用什么
1.递增式线程组,共进式线程组:用的最多的
2.极限线程组:用来做极限测试或者浪涌测试
20
压测策略,压测场景,压测用力
21
This group will start:启动多少个线程数
First,wait for:等待多少秒开始压测,一般为0
Then start;一开始有多少个线程数,一般为0
================================
Next add
threads every
using ramp-up
每多少秒启动多少个虚拟用户数,每组数据持续运行多少秒
22
23
=================================
Then hold load for 60:当你把虚拟用户数都加满之后负载运行多久
4-24小时:一般是8小时,可以是4、8、12、24小时用来做持续不断的压力测试
=================================
Finaliy stiop
threads every
每一秒停止5个虚拟用户数。
24
3.压力测试场景:
验证系统的极限。直到有任何一个性能指标超出预期。

4.稳定性测试场景。
在压力测试下持续运行4-24小时。

五、无界面压测
理论–》指标–》压测脚本–》脚本完善和增强–》模拟真是场景–》压测场景–》监控平台-》平静定位和性能调优
当我们走到压测场景的时候,就开始压测,我们不是使用的jmeter压测,我们使用的是无界面压测

相关文章:

  • 【办公类-04-02】华为助手导出照片读取拍摄时间分类导出,视频不行)
  • 【小海实习日记】PHP安装
  • 如何通过HarmonyOS开发下肢康复外骨骼系统
  • 如何用AI大模型打造个性化内容页面展示,提升用户阅读体验和内容传播效果
  • ThinkBook 16 2024 Ubuntu 触控板问题解决
  • 【紧急警示】Locked勒索病毒利用最新PHP远程代码执行漏洞大规模批量勒索!文末附详细加固方案
  • C语言结构体和共用体
  • 虚拟化 之四 详解 jailhouse 使能和创建 Cell 的工作流程
  • vue面试题八
  • 事务中存在多线程,怎么处理?
  • 实现开源可商用的 ChatPDF RAG:密集向量检索(R)+上下文学习(AG)
  • 20240612每日前端---------transform实现水平垂直居中
  • 单北斗定位手持终端的优势
  • 计算机体系结构学习(一)
  • 随笔——预处理详解
  • python3.6+scrapy+mysql 爬虫实战
  • 30天自制操作系统-2
  • echarts的各种常用效果展示
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • Linux各目录及每个目录的详细介绍
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • opencv python Meanshift 和 Camshift
  • Spring Boot MyBatis配置多种数据库
  • yii2权限控制rbac之rule详细讲解
  • 读懂package.json -- 依赖管理
  • 多线程事务回滚
  • 分类模型——Logistics Regression
  • 关于extract.autodesk.io的一些说明
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 为什么要用IPython/Jupyter?
  • const的用法,特别是用在函数前面与后面的区别
  • Prometheus VS InfluxDB
  • ​iOS实时查看App运行日志
  • ​必胜客礼品卡回收多少钱,回收平台哪家好
  • # 利刃出鞘_Tomcat 核心原理解析(八)-- Tomcat 集群
  • #LLM入门|Prompt#1.7_文本拓展_Expanding
  • #pragma once与条件编译
  • (0)Nginx 功能特性
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (20)docke容器
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (第30天)二叉树阶段总结
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm基于jsp高校选课系统 毕业设计 291627
  • (万字长文)Spring的核心知识尽揽其中
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .helper勒索病毒的最新威胁:如何恢复您的数据?
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .NET 8 中引入新的 IHostedLifecycleService 接口 实现定时任务
  • .NET Micro Framework 4.2 beta 源码探析
  • .NET Micro Framework初体验
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地定义和使用弱事件