性能测试、负载测试、压力测试的全面解析
在软件测试领域,性能测试、负载测试和压力测试是评估系统稳定性和可靠性的关键手段。它们各自关注不同的测试目标和应用场景,理解这些差异对于制定有效的测试策略至关重要。
本文对性能测试、负载测试和压力测试进行深入分析,探讨其定义、目标、执行方法、工具和最佳实践,帮助测试工程师全面理解这些测试类型及其在软件开发中的应用。以下是基于研究和数据的详细内容,涵盖所有相关信息。
性能测试、负载测试和压力测试的区别
什么是这些测试?
- 性能测试:评估系统在不同条件下的效率,如速度和资源使用,确保满足性能要求。
- 负载测试:模拟正常或预期用户量,检查系统在日常使用下的表现。
- 压力测试:将系统推到极限,测试在高负载下的表现,找出崩溃点。
它们如何帮助?
这些测试确保软件在各种场景下运行良好,比如网站在高峰期不卡顿,或系统在用户激增时不崩溃。它们在开发周期中很重要,帮助发现问题并优化。
性能测试(Performance Testing)
定义:性能测试旨在验证系统在特定条件下的性能指标,如响应时间、吞吐量和资源利用率。其目的是确保系统在预期负载下能够达到设计要求的性能水平。
应用场景:
-
评估系统在正常运行条件下的性能表现。
-
验证系统是否满足预定的性能标准和用户期望。
负载测试(Load Testing)
定义:负载测试通过逐步增加系统负载,评估系统在不同负载条件下的性能变化,最终确定系统在满足性能指标的情况下所能承受的最大负载量。
应用场景:
-
确定系统在高负载条件下的性能瓶颈
-
评估系统在接近最大容量时的稳定性和可靠性。
压力测试(Stress Testing)
定义:压力测试通过逐渐增加系统压力,直至系统无法接受用户请求,以确定系统的最大服务能力或性能崩溃点。
应用场景:
-
评估系统在超出预期负载的情况下的稳定性和错误处理能力。
-
识别系统在极端条件下的性能瓶颈和潜在问题。
详细定义与目标
以下是每个测试类型的详细定义和目标:
测试类型 | 定义 | 目标 |
---|---|---|
性能测试 | 评估系统在不同条件下的效率,包括响应时间、吞吐量和资源利用率。 | 确保系统满足性能要求,识别瓶颈,优化速度和效率。 |
负载测试 | 模拟正常或预期用户量,测试系统在日常使用下的表现。 | 验证系统在预期负载下是否能正常运行,测量响应时间和错误率。 |
压力测试 | 将系统推到极限,测试在高负载或资源约束下的表现,找出崩溃点。 | 确定系统最大容量,识别弱点,准备高峰期或扩展规划。 |
维度 | 性能测试 (Performance Testing) | 负载测试 (Load Testing) | 压力测试 (Stress Testing) |
---|---|---|---|
定义 | 评估系统在特定条件下的性能指标 | 验证系统在预期负载下的运行表现 | 测试系统在超出极限负载时的容错能力 |
核心目标 | 发现性能瓶颈,优化响应速度 | 确定系统最大承载能力 | 验证系统崩溃点和故障恢复机制 |
测试场景 | 正常业务负载 | 预期峰值负载 | 异常高负载或资源耗尽场景 |
关键指标 | 响应时间、吞吐量、CPU/内存占用 | 并发用户数、TPS(每秒事务数) | 错误率、资源泄漏、服务降级策略 |
终止条件 | 达到预设性能阈值 | 达到预期最大负载量 | 系统崩溃或出现不可恢复错误 |
这些定义基于常见行业实践,但需注意,部分团队可能根据具体需求调整定义,例如将负载测试包括正常和极端负载。
执行方法
以下是每个测试类型的执行步骤:
1. 性能测试(20%)
- 步骤:
- 定义性能指标,如响应时间、吞吐量和资源利用率。
- 设置测试环境,尽量模拟生产环境。
- 使用工具运行测试,收集数据。
- 分析结果,比较与性能要求的差距。
- 工具:常用工具包括 Apache JMeter、Gatling 和 LoadRunner,这些工具支持模拟用户行为和测量性能指标。
- 示例:测试电商网站,测量首页加载时间和每秒订单处理量。
2. 负载测试(15%)
- 步骤:
- 识别典型用户场景和预期用户数或事务量。
- 设置测试环境,确保与生产环境一致。
- 使用工具模拟正常负载,运行测试并收集数据,如响应时间和错误率。
- 分析结果,确保系统在预期负载下表现良好。
- 工具:Apache JMeter、Gatling 和 Locust 适合模拟用户并发,生成报告。
- 示例:模拟1000用户同时访问网站,验证响应时间在2秒内。
3. 压力测试(20%)
- 步骤:
- 定义极端条件,如最大用户数或资源限制。
- 逐步增加负载,直到系统失败或性能显著下降。
- 使用工具模拟高负载,监控系统行为。
- 分析数据,确定崩溃点和弱点。
- 工具:LoadRunner 和 JMeter 适合高负载模拟,Gatling 也支持压力测试。
- 示例:模拟5000用户并发,测试系统在3000用户时开始出现错误,找出瓶颈。
应用场景与测试目标
1. 性能测试
-
典型场景:
-
用户登录接口平均响应时间超过2秒
-
数据库查询耗时随数据量增长线性上升
-
-
测试目标:
-
定位代码/配置级性能瓶颈(如SQL未走索引)
-
验证缓存机制有效性
-
优化资源利用率(如线程池配置)
-
工具示例:
# Apache Benchmark简单性能测试
ab -n 1000 -c 100 http://api.example.com/v1/users
2. 负载测试
-
典型场景:
-
电商大促期间预估10万并发用户
-
金融系统每秒处理5000笔交易
-
-
测试目标:
-
验证系统在峰值负载下是否满足SLA(如99.9%请求响应<1s)
-
评估横向扩展能力(如增加服务器节点后的性能提升)
-
JMeter测试计划示例:
Thread Group: Number of Threads: 1000 Ramp-Up Period: 300s Loop Count: Forever HTTP Request: Path: /checkout Method: POST Body Data: {"product_id": 123, "quantity": 1} Aggregate Report: Track: Response Time, Throughput, Error %
3. 压力测试
-
典型场景:
-
数据库连接池被耗尽
-
网络带宽饱和导致服务不可用
-
-
测试目标:
-
验证系统在超负荷下的优雅降级能力(如返回友好错误提示)
-
检测内存泄漏或资源未释放问题
-
测试故障转移机制(如主备切换时间)
-
Chaos Engineering工具:
-
Chaos Monkey(随机终止服务实例)
-
Toxiproxy(模拟网络延迟/丢包)
最佳实践
以下是每个测试类型的最佳实践:
测试类型 | 最佳实践 |
---|---|
性能测试 | 从小负载开始,逐步增加;监控系统资源如CPU和内存;重复测试后优化。 |
负载测试 | 在非高峰期运行,避免影响生产;确保测试数据真实;记录所有性能指标。 |
压力测试 | 定义明确失败标准;控制测试环境,避免数据丢失;记录崩溃点和恢复情况。 |
这些实践帮助确保测试结果准确,并指导系统优化。
经典案例:电商系统性能调优
1. 问题现象
-
促销活动期间,订单提交接口响应时间从200ms飙升到5s
-
错误率超过30%
2. 排查过程
1)性能测试定位瓶颈
SHOW ENGINE INNODB STATUS; -- 发现大量行锁等待
-
JProfiler分析发现85%时间消耗在数据库锁竞争
2)负载测试验证优化
-
将库存扣减从行锁改为Redis原子操作
-
使用JMeter模拟1万并发,TPS从150提升到1200
3)压力测试验证容灾
-
注入Redis故障,验证降级到数据库托底的可用性
4)优化结果
-
订单接口P99响应时间稳定在800ms内
-
服务器成本降低40%(减少不必要的水平扩展)
构建性能防御体系
三类测试的关系如同医疗检查:
-
性能测试 = 常规体检(发现潜在问题)
-
负载测试 = 压力性检查(评估承受能力)
-
压力测试 = 极限测试(验证生存边界)
最佳实践建议:
-
在需求阶段定义明确的SLO
-
建立性能基线并持续监控偏离
-
将性能验证纳入CI/CD流水线
通过系统化的性能验证策略,可提前拦截80%以上的线上故障,真正实现**“质效双赢”**。
三者之间的区别与联系
-
测试目标:性能测试关注系统在预期条件下的性能表现;负载测试关注系统在不同负载下的性能变化和最大承受能力;压力测试关注系统在超负载条件下的稳定性和崩溃点。
-
测试方法:性能测试在正常负载下进行,负载测试逐步增加负载直至达到最大承受能力,压力测试则持续增加负载直至系统失效。
-
应用层面:性能测试是一个广义的概念,负载测试和压力测试是其子集,分别针对特定的测试目标和场景。
工具与资源
以下是常用工具及其支持:
工具 | 类型 | 主要特点 | 支持 URL |
---|---|---|---|
Apache JMeter | 开源 | 负载和性能测试,支持分布式测试 | Apache JMeter 官网 |
Gatling | 开源 | 现代 API,易用,适合 Web 和 API 测试 | Gatling 文档 |
LoadRunner | 商业 | 支持多种协议,报告全面,适合企业级 | Loadrunner 官网 |
Locust | 开源 | Python 脚本,实时统计,HTML 报告 | Locust 文档 |
这些工具在测试中应用广泛,适合不同预算和需求。
注意事项
研究显示,以下是常见挑战:
- 测试环境设置:确保测试环境与生产环境一致可能复杂。
- 数据真实性:创建模拟真实用户行为的测试数据需花费时间。
- 资源限制:大规模测试可能需要大量硬件或云资源。
- 结果解读:分析性能数据需明确标准,可能因团队不同而有争议。
总结
性能测试、负载测试和压力测试各有不同目标,共同确保软件在各种负载下运行良好。通过掌握这些测试的定义、执行方法和最佳实践,您可以提升测试效率,优化系统性能。这不仅是技术工具,更是提升用户体验的关键。
过深入理解性能测试、负载测试和压力测试的定义、应用场景及其差异,测试人员可以根据项目需求制定更为精准和有效的测试策略,确保系统在各种条件下的稳定性和可靠性。
“性能测试、负载测试、压力测试齐上阵,您的软件从此无惧任何挑战!”
相关文章:
性能测试、负载测试、压力测试的全面解析
在软件测试领域,性能测试、负载测试和压力测试是评估系统稳定性和可靠性的关键手段。它们各自关注不同的测试目标和应用场景,理解这些差异对于制定有效的测试策略至关重要。 本文对性能测试、负载测试和压力测试进行深入分析,探讨其定义、…...
阶段一:Java基础语法
目标:掌握Java的基本语法,理解变量、数据类型、运算符、控制结构等。 1. Java开发环境搭建 安装JDK配置环境变量编写第一个Java程序 代码示例: // HelloWorld.java public class HelloWorld { // 定义类名为 HelloWorldpublic static vo…...
信息安全的数学本质与工程实践
信息安全的本质是数学理论与工程实践的高度统一。在这个数字空间与物理世界深度融合的时代,信息安全已从简单的数据保护演变为维系数字社会正常运转的基础设施。对于计算机专业学习者而言,理解信息安全需要超越工具化认知,深入其数学内核与系…...
GPU架构与通信互联技术介绍
文章目录 GPU架构介绍SM 和 Warp Scheduler GPU通信互联技术介绍1、GPUDirectGPUDirect Shared AccessGPUDirect P2PGPUDirect for VideoGPUDirect for RDMARDMAGPUDirect RDMA GPUDirect Storage 2、NVLink & NVSwitchNVLinkNVSwitch 3、应用场景总结 GPU架构介绍 SM 和 …...
解决Centos使用yum命令报错“Cannot find a valid baseurl for repo: base/7/x86_64”问题
一、问题描述 我们在使用Centos7.9使用【sudo yum install influxdb2】命令安装influxDB数据库的时候提示“Loading mirror speeds from cached hostfile Could not retrieve mirrorlist http://mirrorlist.centos.org/release=7&arch=x86_64&repo=os&infra=stock …...
CosyVoice2在Windows系统上本地部署的详细步骤
CosyVoice2在Windows系统上本地部署的详细步骤: 下载源码并初始化: 确保你的设备上安装了Git。打开命令提示符(cmd),执行以下命令来克隆仓库:git clone --recursive https://github.com/FunAudioLLM/CosyVo…...
【拒绝算法PUA】LeetCode 2255. 统计是给定字符串前缀的字符串数目
目录 系列文章目录 专题总结: C刷题技巧总结: 题目 2116. 判断一个括号字符串是否有效 难度 描述 解题方法1 系列文章目录 专题总结: 【拒绝算法PUA】0x00-位运算【拒绝算法PUA】0x01- 区间比较技巧【拒绝算法PUA】0x02- 区间合并技…...
华为HCIE鸿蒙应用开发认证靠谱吗?
在万物互联时代,智能终端设备的多样性与协同需求催生了操作系统的革新。华为HarmonyOS(鸿蒙系统)凭借其分布式架构与全场景能力,正成为打破设备边界、重塑用户体验的核心技术底座。HCIE鸿蒙应用开发认证作为华为认证体系的顶级资质…...
AWE 2025:当AI科技遇见智能家居
3月20日,以“AI科技、AI生活”为主题的AWE2025(中国家电及消费电子博览会)在上海新国际博览中心开幕。作为全球家电行业风向标,本届展会最大的亮点莫过于健康理念在家电领域的全面渗透。从食材保鲜到空气净化,从衣物清…...
CSS选择器
文章目录 基本选择器复合选择器交集选择器并集选择器后代选择器子代选择器兄弟选择器相邻兄弟选择器通用兄弟选择器 属性选择器伪类选择器动态伪类结构伪类:first-child:last-child:nth-child:nth-last-child:first-of-type:last-of-type:nth-of-type:nth-last-of-type:only-ch…...
吐血整理:Air8201如何使用LuatOS进行电源管理功能!
在物联网应用场景中,设备续航能力直接影响其部署成本与运维效率。LuatOS操作系统通过软件层面的精细化控制,为Air8201提供了灵活且高效的电源管理策略。本文将从系统架构、API接口、实战配置三个维度,解析如何利用LuatOS实现Air8201的智能电源…...
C++11QT复习 (四)
Day6-1 输入输出流运算符重载(2025.03.25) 1. 拷贝构造函数的调用时机 2. 友元2.1 友元函数 3. 输入输出流运算符重载3.1 关键知识点3.2 代码3.3 关键问题3.4 完整代码 4. 下标访问运算符 operator[]4.1 关键知识点4.2 代码 5. 函数调用运算符 operator…...
Allure 报告数据存储结构
Allure 报告数据存储结构 Allure的报告的下有一个data目录,里面存储了全部展示的数据。data目录下面有两种类型的文件一类是csv,一类是json,两个类型的文件中同名的文件数据是一样的,只是不同的展示方法。我们就按照json格式的数据…...
HarmonyOS:基于axios实现文件的下载以及下载进度的监听
#前言:项目开发中,避免不了实现文件下载功能,其他平台的下载都很成熟,网上的例子也比较多,我就自己项目中实现的下载功能做个总结,你可以参考我的写法实现功能。 下载封装基于axios实现的下载功能。 1.下载…...
应用服务接口第二次请求一直pending问题
目录 一、问题背景二、问题排查过程三、解决方案四、总结 一、问题背景 升级内容发布到灰度环境,验证相关服务,查看接口调用日志,发现第一次请求正常,第二次相同接口请求就一直pending,其他服务也是如此 二、问题排查…...
外设的中断控制
如ADC、SPI、I2C、TIM等使用STM32 HAL库时的中断函数调用方式和UART非常类似,都有底层直接使能中断和上层库函数管理两种方式。下面详细说明几种典型外设: 一、ADC外设 (1)直接使能中断(底层控制)…...
云资源开发学习应用场景指南,场景 1 云上编程实践平台
云资源开发学习应用场景指南 云资源开发学习应用场景指南,场景 2:云桌面实验室 云资源开发学习应用场景指南,场景 3:云资源支持的项目实践 场景 1:云上编程实践平台 《如何在云平台上搭建你的第一个编程实践环境》…...
C++中使用CopyFromRecordset将记录集拷贝到excel中时,如果记录集为0个,函数崩溃,是什么原因
文章目录 原因分析解决方案1. 检查记录集是否为空2. 安全调用COM方法3.进行异常捕获4. 替代方案:手动处理空数据 总结 在C中使用CopyFromRecordset将空记录集(0条记录)复制到Excel时崩溃的原因及解决方法如下: 原因分析 空记录集…...
第四届能源、电力与电气国际学术会议(ICEPET 2025)
重要信息 地点:中国-成都 官网:www.icepet.net(了解参会投稿等信息) 时间:2025年4月25-27日 简介 第四届能源、电力与电气会(ICEPET 2025定于2025年4月25-27日在中国成都举办。 本次将围绕能源、电力及…...
【IDEA的个性化配置】
目录: 一:隐藏项目路径二:禁用斜体注释三:重新Maven构建未完待续... 一:隐藏项目路径 😊在IDEA左侧的Project目录中,项目名称后面显示了项目的文件路径地址,如果不喜欢可以隐藏&…...
分享最近前端面试遇到的一些问题
前情提要(分享个人情况,可以直接跳过) 先说一下我的个人情况,我是2026届的,目前是在找前端实习。 3月初,从3月3日开始在Boss上投简历。 分享我的个人故事,不想看可以直接滑到下面,…...
SSH免密登录服务器方法
Window免密连接Linux系统 生成公匙 ssh-keygen -t rsa一路回车生成公钥 复制公匙,使用记事本打开复制全部内容 notepad C:\Users\DELL\.ssh\id_rsa.pub内容如"ssh-rsa AAAAB3NzaC1yc2EAAAA…" 远程登录服务器将内容写入~/.ssh/authorized_keys echo …...
3.26前端模拟面试
包含 Vue 3、TypeScript、性能优化、工程化等方面,偏八股文。 基础知识 Vue 3 响应式原理:Vue 3 如何实现响应式系统?Proxy 和 Reflect 的作用是什么? TypeScript 类型体操:实现一个 TypeScript 类型 DeepPartial&am…...
23种设计模式-备忘录(Memento)设计模式
备忘录设计模式 🚩什么是备忘录设计模式?🚩备忘录设计模式的特点🚩备忘录设计模式的结构🚩备忘录设计模式的优缺点🚩备忘录设计模式的Java实现🚩代码总结🚩总结 🚩什么是…...
六十天Linux从0到项目搭建(第八天)(缓冲区、gitee提交)
一 缓冲区,C中有很多字符a. 可显字符 b.控制字符 在 C 语言 中,字符可以分为 可显字符(Printable Characters) 和 控制字符(Control Characters),它们通常存储在 缓冲区(Buffer&…...
QOpenGLWidget视频画面上绘制矩形框
一、QPainter绘制 在QOpenGLWidget中可以绘制,并且和OpenGL的内容叠在一起。paintGL里面绘制完视频后,解锁资源,再用QPainter绘制矩形框。这种方式灵活性最好。 void VideoGLWidget::paintGL() {glClear(GL_COLOR_BUFFER_BIT);m_program.bind();//绘制视频数据// 解绑VAOg…...
vue3 ts 封装axios,配置axios前置拦截器,让所有axios请求携带token
vue3 ts 封装axios,配置axios前置拦截器,让所有axios请求携带token http.tsapp.tsvue文件 http.ts import axios from axios // 引入axios import router from /router import Qs from qs import { ElMessage } from element-plusconst { prefixBasePath } requir…...
前端使用WPS WebOffice 做在线文档预览与编辑
先附上官网 WebOffice SDK 1、在下面这个地方找到jdk,然后下载 按照 2、只需要把jdk下载下来,放到项目中,然后引入到项目中就可以了,在wps 官网创建个应用,然后把appId放到代码中就可以了,等待后端把回调…...
在 CentOS 系统中开机自动执行 Shell 脚本
在 CentOS 系统中,可以通过以下方法设置开机自动执行 Shell 脚本。推荐使用 systemd 服务(现代 Linux 系统的标准方式),也可以使用传统的 /etc/rc.local 方法。 方法 1:使用 Systemd 服务(推荐)…...
kotlin知识体系(四) : inline、noinline、crossinline 关键字对应编译后的代码是怎样的 ?
1. inline、noinline、crossinline 的作用 在 Kotlin 里,inline、noinline 和 crossinline 这几个关键字和高阶函数紧密相关,它们能够对高阶函数的行为进行优化和控制。本文接下来会详细介绍它们的作用和原理。 1.1 inline 关键字 inline 关键字用于修…...
Python电影市场特征:AR模型时间序列趋势预测、热图可视化评分影响分析IMDb数据|附数据代码
原文链接:https://tecdat.cn/?p41214 分析师:Zhiheng Lin 在数字时代,电影产业的数据分析已成为洞察市场趋势与用户偏好的重要工具。本专题合集聚焦印度电影市场,通过IMDb数据集(IMDb Movies Dataset)的深…...
【后端】【Django DRF】从零实现RBAC 权限管理系统
Django DRF 实现 RBAC 权限管理系统 在 Web 应用中,权限管理 是一个核心功能,尤其是在多用户系统中,需要精细化控制不同用户的访问权限。本文介绍如何使用 Django DRF 设计并实现 RBAC(基于角色的访问控制)系统&…...
使用docker部署springboot、Vue分离项目,部署到主路径
这几天写了一个小的应用,牵涉到了使用docker部署问题,中间遇到了一些小问题,此处记录下,为以后遇到类似的问题提供一些解决思路。 1、准备使用的镜像:mysql、redis、nginx、jdk。 镜像地址: docker pull s…...
大疆上云api直播功能如何实现
概述 流媒体服务器作为直播画面的中转站,它接收推流端的相机画面,同时拉流端找它获取相机的画面。整个流程如下: 在流媒体服务器上创建流媒体应用(app),一个流媒体服务器上面可以创建多个流媒体应用约定推拉流的地址。假设流媒体服务器工作在1935端口上面,假设创建的流…...
服务器数据恢复—Raid5热备盘同步中断的数据恢复案例
服务器数据恢复环境: 某公司一台存储上有一组由15块硬盘组建的raid5阵列。raid5阵列上层是一个xfs裸分区,起始位置是0扇区。 服务器故障: raid5阵列中有一块硬盘出现故障掉线,热备盘自动上线同步数据,数据同步还没有完…...
FFmpeg开发学习:AVFormatContext结构体
1.AvFormatContext结构体 是ffmpeg中用于处理多媒体文件的核心结构体之一,属于libavformat模块,主要负责描述一个多媒体文件或流的封装格式,用来打开,读取,写入,操作媒体文件(如.MP4 .mkv .flv…...
Ceph集群2025(Squid版)导出高可用NFS集群(上集)
#创建一个CephFS 文件系统 ceph fs volume create cephfs02#创建子卷 ceph fs subvolumegroup create cephfs02 myfsg2#查看子卷 ceph fs subvolumegroup ls cephfs02[{"name": "myfsg2"} ]创建 NFS Ganesha 集群 #例子 $ ceph nfs cluster create <c…...
Python----计算机视觉处理(Opencv:图像边缘检测:非极大值抑制,双阈值筛选)
一、 高斯滤波 边缘检测本身属于锐化操作,对噪点比较敏感,所以需要进行平滑处理。这里使用的是一个5*5的高斯 核对图像进行消除噪声。 二、计算图像的梯度和方向 三、非极大值抑制 在得到每个边缘的方向之后,其实把它们连起来边缘检测就算完了…...
超微服务器主板重置ipmi登录密码
超微服务器主板重置ipmi登录密码 超微服务器的ipmi登录密码不对,需要重置但是bios内并没有找到可以设置的选项。 以下是解决办法: 安装IPMITOOL apt install ipmitool -y执行以下命令加载模块: modprobe ipmi_watchdog modprobe ipmi_po…...
【react18】react项目使用mock模拟后台接口
前后端分离项目,后端还没有接口的时候,前端可以使用mockjs的技术实行假数据的模拟。这里使用的是mock的库msw实现这个业务. MSW msw是mock的工具,官网地址是在这里 使用步骤 1.安装msw npm install mswlatest --save-dev2.新建存放mock接…...
阿里云国际站代理商:如何通过Serverless调用GPU资源?
1.采用支持GPU资源的Serverless系统 选择支持GPU资源的Serverless系统,如Dilu系统,它通过内省弹性(introspectiveelasticity)机制,提供细粒度和自适应的二维协同扩展机制,支持GPU资源按需分配。 2.系统…...
CI/CD(三) 安装nfs并指定k8s默认storageClass
一、NFS 服务端安装(主节点 10.60.0.20) 1. 安装 NFS 服务端 sudo apt update sudo apt install -y nfs-kernel-server 2. 创建共享目录并配置权限 sudo mkdir -p /data/k8s sudo chown nobody:nogroup /data/k8s # 允许匿名访问 sudo chmod 777 /dat…...
Ae 效果详解:音频波形
Ae菜单:效果/生成/音频波形 Generate/Audio Waveform 音频波形 Audio Waveform效果可以可视化音频信号,能以多种方式显示音频波形,包括沿开放或闭合的蒙版路径显示。 本效果适用于所有色深模式(8-bpc、16-bpc、32-bpc)…...
S7-1200对V90 PN进行位置控制的三种方法
S7-1200系列PLC通过PROFINET与V90 PN伺服驱动器搭配进行位置控制,实现的方法主要有以下三种: ? 方法一、在PLC中组态位置轴工艺对象,V90使用标准报文3,通过MC_Power、MC_MoveAbsolute等PLC Open标准程序块进行控制, 这种控制方式属于中央控制方式(位置控制在PLC中计算,驱…...
定制表单排序,react, sort
概要 在实际开发中,我们常常碰到,一个页面根据条件不同,其展示的表单项需要动态改变位置;但是又不想写重复代码;可以试一下以下方法; 效果 使用的技术 HtmlReact,useMemoES6的扩展运算 代码 import Re…...
Vue3中keep-alive缓存组件应用场景。
文章目录 一、KeepAlive是什么?二、基本使用1.例子2.keep-alive使用 三、其他属性3.1 包含/排除3.2 最大缓存实例数3.3 缓存实例的生命周期 总结 一、KeepAlive是什么? 是一个内置组件,它的功能是在多个组件间动态切换时缓存被移除的组件实例…...
测试用例`
1.什么是测试用例 测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素. 2.测试用例的万能公式(重点) 设计测试⽤例的万能公式: 功能测试界…...
React 中的错误边界(Error Boundaries),如何使用它们捕获组件错误
大白话React 中的错误边界(Error Boundaries),如何使用它们捕获组件错误 在 React 里,错误边界就像是一个“小卫士”,专门负责在组件出现错误时挺身而出,避免整个应用因为一个小错误就崩溃掉。接下来我会详…...
往期项目shader着色器实践效果应用合集
1、管路混色 2、水管水流效果 3、水管流入到流完效果 4、加热冷却 两 色混色 示意 XX、毒蘑菇测试效果...
go-zero: sqlx 对timestamp 格式数据问题
1.问题背景 对于goctl自动生成的model代码文件,对于非null的时间数据列,一定会产生如下问题 deleted_at\": unsupported Scan, storing driver.Value type \u003cnil\u003e into type *time.Time" 例如以上的问题,不论是插入还…...