性能测试的方案编写与执行步骤

性能测试计划书

在测试过程中我们如果编写一份性能测试计划书,需要一下几个背景板块及要点
性能测试的流程:
确认需求(确认正确的需求) —>编写测试方案(准备怎么动手)测试环节—>(尽量与生成配置一致)—>执行测试
分析测结果(重点)—>性能优化–>回归分析—>性能测试报告

性能测试的时机:
如果把系统比喻成一匹马,载人载货
目标:想要知道这匹马能载多少货物 ––负载测试 ,找到瓶颈值,上线前 知道容量(不断增加并发数,直到系统崩溃)
目标:想知道这匹马能带着货跑多远–– 压力测试 系统能否支撑长时间的高压运行(如一个接口的瓶颈值是300,并发的请求接口在250~299之间时,系统能运行多久)
出现问题,比如马受伤了,给马治病 ––性能优化 系统比较慢

测试背景:
1、项目概述:项目是什么?读书屋是一个提供小说阅读的系统,功能有。。。。
2、市场调研:市场上的竟品:七猫
3、开展性能测试原因:目的是为了面向社会推广、当前用户日益增加,需确认访问量,
4、意义;需要进行性能测试来评估 读书屋性能、分析性能变化趋势,分析系统瓶颈风险,帮助规划系统容量,为了硬件采购提供意见

测试范围:
无需一上来就测试系统的所有流程,而是需要分析哪些功能是高频使用的板块,将这些高频使用的板块接口进行性能优化
分析: 1、用户行为(剔除掉用户可能只反问一次的接口)先找到高频接口,开发才有可能做优化,高频接口意味着极有可能是当前项目的核心业务接口 2、产品经理的帮助 3、架构师、技术负责人––提供数据支持 4、强资源占用行为(上传/下载)一般情况下,
我们会按场景去测试对应的性能,比如:七猫小说网站,打开首页,登录、查看书架,这个流程有多少接口

性能需求分析:
预估:业务流程节点––数据流程「数据库表」每天会新增多少?
1、业务量:首页,日均UV(访问量)用户访问 独立访问的意思 ––5000用户
2、日均PV页面浏览量 ––50000浏览量
性能目标:
1、响应时间-可通过竞品对比或咨询产品设计评估响应时间为多少合适
2、后续会增长的目标量
3、从并发量设计,总访问数据 来推导并发量,通常遵循二八原则
4、可靠性/错误率分析:默认允许0.05%错误率容度度,但一般由公司决定
资源占用:
1、服务器资源 80~85%左右
2、太高,有崩溃的风险
3、太低,浪费资源

风险分析:
1、由于本次测试没有采用与生产环节相同配置,所以有可能和实际运行中性能有一定的差距
2、本次测试数据都是有人工生成,可能与实际数据分布有一定的差距

术语约定
并发量
负载测试:不断加大负载(不同虚拟的用户数)能找到拐点
压力测试

以上是一个性能测试计划书所要包含的板块。

测试实操:测试范围描述:七猫小说 登录 ––>查看书架

难点:可不可以用一个用户之间性能测试 查看书架?
如何让那么多用户一起登录来测试?
答:最简单的方式––>注册成功的用户都在数据库里––从数据库拿数据jmeter连接数据库:jar包+jmeter中 jdbk configuration
操作步骤:
1、导入mysql.jar包
2、创建配置元件––jdbk connection configuration
3、在jdbc connection configuration 里,配置数据库地址,和用户密码

我们复用上篇文章留下的Jmeter测试数据,然后创建连接数据库的配置元件这里需要去填写数据库名词、数据库ip地址、数据库类型、账号及密码,这个详细讲解在我另外一篇文章中,自取
在这里插入图片描述
然后我们需要添加一个setUp线程,这个线程在jmeter中会被优选执行的,为什么我们要使用这个优先执行的线程组,因为我们需要提前把数据库中的1000个用户提取出来
在这里插入图片描述
然后我们在这个线程组中添加JDPC request来查询数据库信息
在这里插入图片描述
输入对应sql查询语句,找到我们想要提取的用户名,并设置变量名称U
在这里插入图片描述
添加结果树,然后我们点击运行,可以看到数据库的用户名称被我们提取出来了
在这里插入图片描述
然后我们再去添加登录接口的hppt请求,并输入请求参数,username及passport,用户名称与密码,这里我们需要添加仅一次控制器,并把请求接口及查看结果树放在这个目录下,每次登录仅提起一次用户名,
在这里插入图片描述
输入请求参数用户名称及密码,然后点击添加结果树看看是否正常运行成功在这里插入图片描述

可以看到运行成功了了(登录成功)
在这里插入图片描述
这是登录一次的效果实现,如果我们需要登录1000次呢,把线程循环改成1000
在这里插入图片描述
但是如果我们现在进行线程轮循,每次登录的都是同一个用户,那我们怎么实现模拟不同的用户进行登录
添加计时器,统计提取出来的U下划线的数字
在这里插入图片描述
然后将登录请求中的用户名称改成函数变量值
可通过函数助手生产变量值
在这里插入图片描述
由于每次登录都需要token,所以我们将token也提取出来
在这里插入图片描述
添加一个beanshell后置处理器将token设置为全局变量
在这里插入图片描述

这里有个小问题就是我们的U值获取不到,为什么获取不到,因为我们前面设置的计数器是全局变量可以看到是拖拽到最前面了,第一个目的
这里我们可以尝试再加一个计时器,用于当前线程也就是给到用户的计时器-U在这里插入图片描述这里我们的登录接口就处理完了,然后我们去做查看书架线程组的基准测试
在这里插入图片描述
添加对应的http请求及查看结果树
在这里插入图片描述
这里我们需要拿到上个接口提取出来的token,所以我们添加http信息头管理,通过–P函数来拿到token
在这里插入图片描述
接口调通之后,我们就可以去轮循线程了,修改线程的属性
在这里插入图片描述
基准测试完成之后,我们就可以进行负载测试,找到接口瓶颈值(详情参考上篇文章)
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/25012.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[AI]从零开始的树莓派运行DeepSeek模型教程

一、前言 在前面的教程中,教了大家如何在windows中使用llama.cpp来运行DeepSeek模型。根据前面的教程中,我们也了解到了,我们只需要编译好llama.cpp就可以运行DeepSeek以及类似的LLM模型。那么本次教程就来教大家如何使用树莓派来运行大模型。…

03_pyqt5 + vlc 实现视频播放器

1.功能需求如图 按钮: 播放/暂停, 前进/后退, 视频上一个/下一个, 打开视频进度条: 视频进度条显示, 进度条拖拽, 音量控制按键控制: 1,2,3,4缩放画面大小, 2.方案选择 开发语言: python UI界面: pyqt5 qt_designed 设计ui布局 视频编码: python-vlc 方案说明: 视频解码可…

Linux——高级IO(select后续poll,epoll)

目录 一、poll函数 1.函数原型 2.参数说明 3.struct pollfd 结构体 4.返回值 5.使用步骤 6.与 select 的对比 7.适用场景 8.缺点 9.总结 二、epoll函数 1.核心思想 2.核心函数 1. epoll_create - 创建 epoll 实例 2. epoll_ctl - 管理 epoll 事件表 3. epoll_w…

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释

基于 ‌MySQL 数据库‌对三级视图(用户视图、DBA视图、内部视图)的详细解释,结合理论与实际操作说明: 一、三级视图核心概念 数据库的三级视图是 ANSI/SPARC 体系结构的核心思想,MySQL 的实现逻辑如下: …

突破性能极限:DeepSeek开源FlashMLA解码内核技术解析

引言:大模型时代的推理加速革命 在生成式AI大行其道的今天,如何提升大语言模型的推理效率已成为行业焦点。DeepSeek团队最新开源的FlashMLA项目凭借其惊人的性能表现引发关注——在H800 GPU上实现580 TFLOPS计算性能,这正是大模型推理优化的…

ROS ur10机械臂添加140夹爪全流程记录

ROS ur10机械臂添加140夹爪 系统版本:Ubuntu20.04 Ros版本:noetic Moveit版本:moveit-noetic 参考博客: ur3robotiq ft sensorrobotiq 2f 140配置rviz仿真环境_有末端力传感器的仿真环境-CSDN博客 UR5机械臂仿真实例&#xf…

Redis速成(1)VMware虚拟机安装Redis+Session验证登录注册+MybatisPlus

课程:黑马程序员Redis入门到实战教程,深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目_哔哩哔哩_bilibili Mybatis与MybatisPlus: 参考springboot,需要额外写mapper.class,在方法上Select等 在ssm中,…

thinkphp下的Job队列处理

需要think-queue扩展,没有的请composer安装一下 "require": {"php": ">7.2.5","topthink/framework": "^6.1","topthink/think-orm": "^2.0","topthink/think-multi-app": &qu…

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(五)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(五) 第一部分:网络平台搭建与设备安全防护任务书第二部分:网络安全事件响应、数字取证调查、应用程序安全任务书任务 1:应急响应&…

JSON Schema 入门指南:如何定义和验证 JSON 数据结构

文章目录 一、引言二、什么是 JSON Schema?三、JSON Schema 的基本结构3.1 基本关键字3.2 对象属性3.3 数组元素3.4 字符串约束3.5 数值约束 四、示例:定义一个简单的 JSON Schema五、使用 JSON Schema 进行验证六、实战效果6.1 如何使用 七、总结 一、引…

VMware虚拟机Mac版安装Win10系统

介绍 Windows 10是由美国微软公司开发的应用于计算机和平板电脑的操作系统,于2015年7月29日发布正式版。系统有生物识别技术、Cortana搜索功能、平板模式、桌面应用、多桌面、开始菜单进化、任务切换器、任务栏的微调、贴靠辅助、通知中心、命令提示符窗口升级、文…

计算机网络:ICMP协议(Internet控制消息协议)介绍

目录 一、简介 二、为什么要有ICMP协议? 三、ICMP协议报文格式 四、ICMP报文的类型 4.1 差错报文 4.2 查询报文 五、ICMP报文的实际案例 5.1 Ping命令 5.2 Traceroute命令 总结 今天和大家聊聊ICMP协议相关的知识,感兴趣的可以一起了解一下! 一、简介 ICMP(Inte…

python读取sqlite温度数据,并画出折线图

需求: 在Windows下请用python画出折线图,x轴是时间,y轴是温度temperature 和体感温度feels_like_temperature 。可以选择县市近1小时,近1天,近1个月的。sqlite文件weather_data.db当前目录下,建表结构如下…

window下kafka安装

kafka下载 下载好,直接解压即可 默认是带有zookeeper(注册中心) 需要先启动zookeeper zookeeper配置 先配置下zookeeper 这个data文件夹是自定建的 随意建在哪里 注意 这里斜杠用和linux一样 启动zookeeper 进入bin/windows目录 启动zookeeper zookeeper-server-start.ba…

开发HarmonyOS NEXT版五子棋游戏实战

大家好,我是 V 哥。首先要公布一个好消息,V 哥原创的《鸿蒙HarmonyOS NEXT 开发之路 卷1:ArkTS 语言篇》图书终于出版了,有正在学习鸿蒙的兄弟可以关注一下,写书真是磨人,耗时半年之久,感概一下…

2月26(信息差)

🌍思科和英伟达新旧双王联手 目标重塑网络架构抢占下沉市场 🎄全球AI大混战升温!超越Sora的阿里万相大模型开源 家用显卡都能跑 ✨小米15 Ultra、小米SU7 Ultra定档2月27日 雷军宣布:向超高端进发 1.全球首个!人形机器…

物联网通信应用案例之《智慧农业》

案例概述 在智慧农业方面,一般的应用场景为可以自动检测温度湿度等一系列环境情况并且可以自动做出相应的处理措施如简单的浇水和温度控制等,且数据情况可远程查看,以及用户可以实现远程控制。 基本实现原理 传感器通过串口将数据传递到Wi…

C# Unity 唐老狮 No.1 模拟面试题

本文章不作任何商业用途 仅作学习与交流 安利唐老狮与其他老师合作的网站,内有大量免费资源和优质付费资源,我入门就是看唐老师的课程 打好坚实的基础非常非常重要: Unity课程 - 游习堂 - 唐老狮创立的游戏开发在线学习平台 - Powered By EduSoho 目录 C# 1.其他类型转object类…

网络安全扫描--基础篇

前言 1、了解互联网安全领域中日趋重要的扫描技术 2、了解在不同网络场景下扫描技术手段 3、熟悉linux下系统内核防护策略并能大件一个有效的系统防护体系 4、增强工作安全意识,并能有效的实践于工作场景中 目录 1、熟悉主机扫描工具(fping,…

P8697 [蓝桥杯 2019 国 C] 最长子序列

P8697 [蓝桥杯 2019 国 C] 最长子序列 题目 分析代码 题目 分析 先分析一波xdm 题意呢就是在s中找有多少个能和t匹配的字符,注意:连续匹配,输出连续的次数 欧克,开始分析,首先,哎~字母!还强调…