性能测试学习一

news2024/11/17 8:30:59

文章目录

  • 什么是性能测试
  • 性能项目分类
  • 性能测试流程
    • 在这里插入图片描述
  • 场景分类
    • 基准场景
  • 容量场景
  • 稳定性场景
  • 性能指标
    • 性能指标
  • 分布式压测

日期:2024年4月19日
从今日起开始系统更新性能测试学习笔记,一方面督促自身的学习进度,另一方面提高专注力,保持日更。

什么是性能测试

性能测试是针对系统的性能指标,建立性能测试模型,制定性能测试方案,制定监控策略,在场景条件下执行性能测试,分析判断性能瓶颈并调优,最终得出性性能结果来评估系统的戏能指标是否满足既定数。

性能项目分类

  • 新系统性能测试类:一般要求测试出系统的最大容量,不然上线心里没底
  • 旧系统新版本性能测试类:一般是和旧版本对比,只要性能不下降旧可以根据历史数据推算容量,一般对调优要求不高
  • 新系统性能测试优化类:这样的系统不仅要测试出最大容量,还有调优到最好的需求

对性能团队的职责定位:

  • 性能验证:针对给定的指标,只做性能验证。
  • 性能测试:针对给定的系统,做全面的性能测试,可以得到系统最大容量,但不涉及调优
  • 性能测试+分析调优:针对给定的系统,做全面的性能测试,同时将系统调优到最优状态

性能测试流程

在这里插入图片描述

实际情况不会像这张图描绘:
在这里插入图片描述
老师理解的部分:

  • 重负载区的资源饱和和tps达到最大值之间在很多时候不是在同样的并发数之下的,比如说,当cpu资源使用率达到100%之后,随着压力的增加,队列慢慢变长,但是由于用户数增加的幅度会超过队列长度,所以tps依然会增加,也就是说资源使用率达到饱和之后还有一段时间tps才会达到上限
  • 大部分情况下,相应的曲线都不会像这个图中画的这样陡峭,并且也不一定是在塌陷区突然上升的,更可能是在重负载区突然上升
  • 吞吐量曲线,不一定会出现下降的情况,在有些控制比较好的系统中会维持水平
  • 最优并发数这个点,通常只是一种感觉,而没有绝对的数据来证明,在生产运维的过程中,其实我们大部分人会更加谨慎,而不会定这个点为最优并发,而是更靠前一些
  • 最大并发数这个点,就完全没有道理了。性能都已经衰减了 ,最大并发数肯定是在更靠前的位置,应该更加理智的关注tps
  • 这个图没有考虑到一些锁或线程配置不合理的场景,而这类场景又比较常见,也就是我们说的tps上不去,资源用不上。这个图默认了一个前提,只要线程能用得上去,资源就会蹭蹭往上长。

【实际中更加合理的图】
蓝色代表tps,黄色代表相应时间
A点:最优响应时间点
C点:tps达到最大值,不报错
D点:响应时间很高,tps已经下降,性能衰减的过程
E点:表达超时的一个过程
B点:应该是业务部门给出指标的一个点

在这里插入图片描述

场景分类

  • 基准场景(单交易容量场景)
    • 验证单业务用户场景的执行
    • 找到单业务的最大tps和最优响应时间
  • 容量场景(递增场景,最大tps,最快响应时间场景)
    • 关键点:递增
  • 稳定性场景(运维最好的状态)
    • 不必拿最大的tps的80%来运行
    • 要考虑运维周期之间的业务累计量
  • 异常场景(运维中异常的处理)
    • 保持tps的稳定性

基准场景

在这里插入图片描述

容量场景

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

稳定性场景

在这里插入图片描述

场景作用
基准性能场景也可称为单交易容量。即将每一个业务都压到最大tps,从而为后续场景做数据对比
容量性能场景也可以称为混合容量性能场景。即将所有业务根据比例加到一个场景中,在数据、软硬件环境、监控等的配合之下,分析瓶颈并调优的过程
稳定性能场景核心就是时长,在长时间的运行之下,观察系统的性能表现,分析瓶颈并调优的过程
异常性能场景显然就是异常的定义最为重要。异常手段有:宕主机、宕应用、宕网卡。随着云基础架构,还有宕容器、缓存、虚拟机、队列、流控、熔断等等

性能指标

简写英文全称含义
RTresponse time响应时间,包括请求request和response time
HPShits per second每秒点击数
TPStransactions per second每秒事务数
QPSqueries per second在mysql中指每秒sql数
RPSrequests per second每秒请求数
CPScodes for second在http协议中,cps偶有提及,指的是http返回码每秒
PVpage view页面浏览量
UVunique vistior独立访问者
IPinternet protocol独立ip数
throught吞吐量
IOPSinput/output operations per second描述磁盘

性能指标

分为:业务指标和技术指标

  • 业务指标:业务部门给出的指标,例如多少人同时使用,业务场景分布情况
  • 技术指标:时间指标(接口响应时间,业务响应时间,用户级别响应时间)、容量指标(接口容量、业务容量)、资源利用率指标(操作系统、jvm等)

在线用户数根据并发度计算出tps 再根据响应时间,计算出并发线程数
TPS=(1/avg(RT))*threadnumber
假设在线用户有10000个,并发度为5%,那么tps就是500tps,要求响应时间100ms,那么并发数就是50。

分布式压测

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络爬虫之HTTP原理

** URI和URL URI的全称Uniform Resource Identifier ,即统一资源标志符。URL的全称Uniform Resource Locator 即统一资源定位符。 URL是URI的子集,也就是每一个URL就是URI,但是每一个URI不一定是URL,URI还有一个子类叫URN&#x…

企业微信hook接口协议,ipad协议http,发送大视频文件

发送大视频文件 参数名必选类型说明uuid是String每个实例的唯一标识,根据uuid操作具体企业微信send_userid是long要发送的人或群idisRoom是bool是否是群消息 请求示例 {"uuid":"1688853790xxx", //uuid 默认随机生成如果初始化传了id则用初始…

数组和指针有什么区别?

数组(Array)和指针(Pointer)是计算机编程中常见的两种数据类型,它们在内存中的表示和使用方式有着显著的区别。 1. 内存中的表示: 数组: 数组是一组相同类型的元素在内存中连续存储的集合。在…

企业数字化管理是什么,如何建立企业数字化管理?

前言 随着信息技术的迅猛发展和数字化浪潮的席卷,企业数字化管理已成为现代企业管理的重要趋势。数字化管理不仅有助于提升企业的运营效率和市场竞争力,还能为企业创造更多的商业价值和机遇。因此,深入了解和掌握企业数字化管理的内涵和建立…

【企业管理战略方案设计】经营驱动与管理控制相结合

在企业发展过程中,是经营为先,还是管理为先?是经营重要还是管理重要?不同的人可能会有不同的答案,也会有不同的简介。但是如何将经营与管理有机地结合在一起,将冲锋陷阵的前方经营与补充粮草的后方管理加以…

C#实现TFTP客户端

1、文件结构 2、TftpConfig.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace TftpTest {public class TftpConfig{}/// <summary>/// 模式/// </summary>public enum Modes{…

前端单元测试的艺术:专业化策略与Vue项目高效实践指南

单元测试是软件开发中的基石&#xff0c;尤其对于前端领域&#xff0c;它为保证代码质量、提升开发效率、强化项目稳定性提供了不可或缺的支持。本文将深入剖析单元测试的核心理念&#xff0c;揭示其在前端开发中的独特价值&#xff0c;并提炼出一套专业且高效的实践策略&#…

闲谈工作边界

在程序员的日常工作中&#xff0c;会遇到很多边界问题。如果这些边界问题不处理好&#xff0c;会面临诸多问题。切不可忽略边界问题&#xff0c;因为这些边界很有可能是日后帮助你摆脱扯皮&#xff0c;避免被甩锅&#xff0c;甚至于好心办坏事。 那么我们来谈一下如何处理边界问…

关于螺栓的注意事项和正确操作方法——SunTorque智能扭矩系统

智能扭矩系统-智能拧紧系统-扭矩自动控制系统-SunTorque 螺栓&#xff0c;作为一种常见的紧固件&#xff0c;广泛应用于各种机械设备和结构中。在日常生活和工作中&#xff0c;我们经常需要接触到螺栓&#xff0c;因此了解螺栓的一些注意事项和正确操作方法对于确保设备的安全…

ASP.NET集成客户关系管理的企业网站的设计与开发

摘 要 企业要在激烈的市场竞争中立于不败之地&#xff0c;就必须找一种全新的管理理念和管理手段&#xff0c;对其内部和外部资源进行有效的整合。新一代ERP产品正在向客户端和供应端延伸&#xff0c;客户端的延伸即是客户关系管理。对于每个企业来说客户管理的完善程度将直接…

2024新版计算机网络视频教程65集完整版(视频+配套资料)

今日学计算机网络&#xff0c;众生皆叹难理解。 却见老师神乎其技&#xff0c;网络通畅如云烟。 协议层次纷繁复杂&#xff0c;ARP、IP、TCP、UDP。 路由器交换机相连&#xff0c;数据包穿梭无限。 网络安全重于泰山&#xff0c;防火墙、加密都来添。 恶意攻击时刻存在&#xf…

平衡二叉树、红黑树、B树、B+树

Tree 1、前言2、平衡二叉树和红黑树3、B树和B树3.1、B树的构建3.2、B树和B树的区别3.3、数据的存储方式 1、前言 本文侧重在理论方面对平衡二叉树、红黑树、B树和B树的各方面性能进行比较。不涉及编程方面的实现。而关于于平衡二叉树在C中的实现&#xff0c;我的上一篇文章平衡…

【openLooKeng-1.10.0集群环境安装部署】

openLooKeng-1.10.0集群环境安装部署 一、摘要二、正文1. 环境说明2. 集群拓扑图3. 安装过程(以root用户安装)3.1 在Coordinator和Worker两个节点都需要安装jdk1.8+3.2 在Coordinator上安装配置openLooKeng3.3 在Worker节点上进行配置openLooKeng3.4 在Coordinator节点上先启…

Oracle Analytics BIEE 操作方法(六)数据格式1:百分比

问题&#xff1a; 有如下公式&#xff0c;将数据显示为按行的百分比。此时数据显示只会有一位小数。想显示两位 解决方案 在分析中找到“高级”标签&#xff0c;将“分析XML”中内容复制出来 替换 将&#xff1a;minDigits“1” maxDigits“1” 替换为&#xff1a;minDigits…

Quarto Dashboards 教程 3:Dashboard Data Display

「写在前面」 学习一个软件最好的方法就是啃它的官方文档。本着自己学习、分享他人的态度&#xff0c;分享官方文档的中文教程。软件可能随时更新&#xff0c;建议配合官方文档一起阅读。推荐先按顺序阅读往期内容&#xff1a; 1.quarto 教程 1&#xff1a;Hello, Quarto 2.qu…

FineBi中创建自定义的图表

FineBi中增加自己的自定义图表组件,比如: 的相关笔记: 1 获取有哪些BI自定义图表组件:http://localhost:8080/webroot/decision/v5/plugin/custom/component/list?_=1713667435473[{"name": "图表DEMO_EK","chartType": "amap_demo&q…

知识付费平台的搭建重点,会用到哪些三方服务?

知识付费平台的搭建重点主要包括以下几个方面&#xff1a; 确定目标用户群体&#xff1a;首先需要明确平台的目标用户是谁&#xff0c;他们有什么样的学习需求和付费习惯。这有助于为平台制定合适的内容策略和推广策略。内容策划与制作&#xff1a;知识付费平台的核心是内容&a…

AOI在SMT生产线的关键作用

在SMT&#xff08;表面贴装技术&#xff09;的生产过程中&#xff0c;AOI&#xff08;自动光学检测&#xff09;技术发挥着不可替代的作用。通过本文&#xff0c;我们将深入探讨AOI在提升SMT生产线效率和产品质量方面的关键优势。 AOI技术在SMT生产线的核心作用 精确检测元件位…

柱形图“变个装”,跟上时尚步伐!

前言 职场中&#xff0c;日报、周报、月报、年度总结&#xff0c;都离不开图表的制作&#xff0c;而柱状图又是最常用的一种&#xff0c;怎样的柱状图&#xff0c;才能让领导更容易阅读&#xff0c;甚至是眼前一亮呢&#xff1f;今天小编就将为大家介绍一下如何借助葡萄城公司…

Nginx基本使用 反向代理与负载均衡

什么是Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。 其特点是占有内存少&#xff0c;并发能力强&#xff0c;nginx的并发能力在同类型的网页服务器中表现较好&#xff0c;而且几乎可以做到7*24不间断运行&#xff0c;即使运行数个月也不需要重新启动。 …