压力测试,探索服务器性能瓶颈

news/2024/11/8 4:59:10 标签: 压力测试, 服务器, 运维, 软件测试, 测试开发

什么是全链路压力测试

全链路压力测试是指基于真实业务场景,通过模拟海量的用户请求,对整个后台服务进行压力测试,从而评估整个系统的性能水平。

创建全链路压力测试

第一步:准备测试数据

为了尽量模拟真实的业务场景,首先要为测试准备大量模拟数据,并将数据与场景编排中的变量关联,从而在执行测试任务时读取测试数据中的数据进行测试
准备测试数据的途径:

  • CSV 文件
  • 数据源

第二步:场景编排

根据实际业务需求确定压测场景。一个压测场景可包含多个并行业务(链路),每个链路可包含多个接口串联。

  • 默认已创建了一个链路(链路一),且该链路包含一个API(API 1)
  • 如果压测场景需要多个API串联,可直接点击下图“+”进行添加API,并在右侧进行API的相关配置
  • 如果压测场景需要多条链路并行,可通过点击“添加链路”。每添加一条链路会默认添加一个API。

第三步:压力配置

对本次压测任务进行压力相关配置

具体性能指标说明详见下表

参数说明示例
模拟用户数通过线程执行测试用例来模拟典型用户访问系统默认值为 100
压测总时长压力测试执行的总时长默认值为 5 分钟
压测源发起压测的节点所在地域默认值为 华南区/广州说明:如果需要除广州之外其他地区进行施压,可联系优测小助手 0411-82376688-843186
链路权重某链路占所有并联链路的权重只支持输入1-100之间的正整数,默认值为 1例如:链路一和链路二 设置为1:2,且模拟用户数为100。则表示链路一和链路二分别占比为25%和75%。实际模拟用户数 链路一: 100 × 25 100 \times 25% 100×25 = 25 链路二 100*75% = 75

第四步:确认信息并执行

  • 确认所填配置信息正确。
  • 账户有足够余额发起本次测试。

注意: 由压测所引起与第三方的纠纷及造成的一切后果,使用者应自行承担全部法律责任。

分析压测报告

  • 测试任务执行中
    • 随着压力测试的执行,概览报告会实时更新测试结果数据。
    • 点击“停止压测”按钮,可随时终止当前测试,查看已执行的部分报告。
      注意: 停止测试之后会退还未使用的VUM。
  • 测试任务结束,可查看最终报告
内容说明
概览展示总体概览数据和Top 10 错误原因
详情选择不同时间段,可得到详细的数据和趋势图
采样日志对采样结果执行用户配置的解析脚本后,汇总生成采样日志
压测快照记录本次压力测试的详细配置

在这里插入图片描述

推荐学习

【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)

【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)

【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)

【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试

【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff

【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享

【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装

【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?

【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!

【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我

【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化

【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试

【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !

【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置

【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)


http://www.niftyadmin.cn/n/5743253.html

相关文章

RabbitMQ 高级特性——消息分发

文章目录 前言消息分发RabbitMQ 分发机制的应用场景1. 限流2. 负载均衡 前言 当 RabbitMQ 的队列绑定了多个消费者的时候,队列会把消息分发给不同的消费者,每条消息只会发送给订阅列表的一个消费者,但是呢,RabbitMQ 默认是以轮询…

Eslint 和 Prettier

提示:ESLint 和 Prettier 是两个常用的工具,它们在 JavaScript 生态系统中扮演着重要角色,但它们的功能和目的有所不同。 一、ESLint是什么? 1.目的: ESLint 是一个静态代码分析工具,主要用于查找和修复 …

WPF中的INotifyPropertyChanged接口

INotifyPropertyChanged 是一个在 WPF (Windows Presentation Foundation) 和 .NET 中使用的接口,它用于实现数据绑定时的数据更新通知。当实现了 INotifyPropertyChanged 接口的类的属性值发生变化时,这个接口允许对象通知绑定到该对象属性的 UI 元素&a…

【华为机试题】光伏场地建设规划 [Python]

题目 代码 class Solution:def func(self, input_args, area_list):count 0for i in range(input_args[0] - input_args[2] 1):for j in range(input_args[1] - input_args[2] 1):count 1 if self.area_compute(area_list,i,j,input_args[2],input_args[3]) else 0print(c…

Mac解决 zsh: command not found: ll

Mac解决 zsh: command not found: ll 文章目录 Mac解决 zsh: command not found: ll解决方法 解决方法 1.打开bash_profile 配置文件vim ~/.bash_profile2.在文件中添加配置:alias llls -alF键盘按下 I 键进入编辑模式3. alias llls -alF添加完配置后,按…

数据仓库之 Atlas 血缘分析:揭示数据流奥秘

Atlas血缘分析在数据仓库中的实战案例 在数据仓库领域,数据血缘分析是一个重要的环节。血缘分析通过确定数据源之间的关系,以及数据在处理过程中的变化,帮助我们更好地理解数据生成的过程,提高数据的可靠性和准确性。在这篇文章中…

在vscode中开发运行uni-app项目

确保电脑已经安装配置好了node、vue等相关环境依赖 进行项目的创建 vue create -p dcloudio/uni-preset-vue 项目名 vue create -p dcloudio/uni-preset-vue uni-app 选择模版 这里选择【默认模版】 项目创建成功后在vscode中打开 第一次打开项目 pages.json 文件会报错&a…

Python学习大纲总结及注意事项

1. Python基础 • Python基础语法:变量、常量、数据类型(字符串、整数、浮点数、布尔值)、运算符、表达式。• 控制结构:条件语句(if-elif-else)、循环语句(for循环和while循环)、循…