性能测试基础介绍

news2024/11/25 22:32:09

1.性能测试的意义

1.1.现状

        互联网行业发展快,用户量大大增加;

        业务和系统架构越来越复杂,数据越来越多,用户不仅仅满足于功能的实现,在某些场景下,更 在意系统性能。

1.2.什么是性能测试

        通过一定的手段,在多并发下情况下,获取被测系统的各项性能指标,验证被测系统在高并发下 的处理能力、响应能力,稳定性等,能否满足预期。定位性能瓶颈,排查性能隐患,保障系统的 质量,提升用户体验。

2.什么样的系统需要做性能测试

  • 用户量大,PV比较高的系统
  • 系统核心模块/接口
  • 业务逻辑/算法比较复杂
  • 促销/活动推广计划
  • 新系统,新项目
  • 线上性能问题验证和调优
  • 新技术选型
  • 日常系统性能回归

3.性能测试关键指标

3.1.并发用户数

        同时向服务器发送请求的用户数。

其它容易混淆的概念:

        注册用户:在系统中注册成功的用户数量,也就是数据库里存储的用户数量

        在线用户:同时处于在线状态的用户数量,也就是已经登录成功的用户数量

        并发用户:同时向服务器发送请求的用户数量,也就是正在做同一个业务的用户数。

        以银行来举例,注册用户就是银行的开卡用户数;在线用户就是进到银行内部的用户数,但是有些用户可 能正在里面休息,不办业务,并不会对银行造成压力,并发用户就是正在办理取款业务的用户数。

注册用户>在线用户>并发用户

3.2.TPS(每秒钟处理的事务数)

        TPS:Transaction Per Second,每秒钟处理的事务数。

        在服务端接口性能测试中,事务Transaction可以理解成一次接口调用,所以TPS其实就 是服务端每秒钟处理多少次接口调用。如果TPS越高,证明服务端项目的处理能力就越好, 性能就越好。

        还是以银行来举例,如果有很多财务人员同时来银行办业务,假设银行每秒能处理1000笔 业务,那就可以说银行业务的TPS=1000,这个数值越大,证明银行单位时间内能办的 业务就越多,性能就越好。        

                

3.3.响应时间

响应时间=网络传输的总时间+各组件业务处理时间

3.3.1平均响应时间

        响应时间Response Time,简称RT,指的是服务端处理完一个请求所花费的时间,通常时间单位为毫秒ms。 平均响应时间就是n多个请求响应时间的平均值。 平均响应时间越短,代表性能越好,TPS就越高。 银行办理业务的速度越快,单位时间内处理的业务量越多,因此性能就越好。

3.2.2.TOP响应时间

        将所有请求的响应时间先从大到小进行排序,计算指定比例的请求都是小于某个时间。该指标统计 的是大多数请求的耗时。 Tp90(90%响应时间):90%的请求耗时都低于某个时间 Tp95(95%响应时间):95%的请求耗时都低于某个时间 Tp99(99%响应时间):99%的请求耗时都低于某个时间,top响应时间各个工具一般都会自己计算。

        同时有平均响应时间和top响应时间,一般情况下以平均响应时间为主,top响应时间最大值和平均响应时间相差较大的时候需要关注top响应时间。

3.4.TPS、响应时间和并发数的关系

        还是银行的例子,站在银行的角度来看,随着办业务的人越多,那同一时刻银行的处理业务量就越大,但是银行的处理能力总有 一个上限,当用户量达到某个值后,处理能力就能达到巅峰。此时如果再来更多的用户,银行的处理能力也不会增加了。 在系统达到性能瓶颈之前,TPS和并发数成正比关系,即并发数越高,TPS越高;达到瓶颈后,并发数增加,TPS不会继续增高 (甚至会下降),这个最高的tps出现的点,叫做 拐点 。TPS和平均响应时间成反比关系,即平均响应时间越小,TPS就越高。

响应时间单位为秒的情况下

TPS = 1 / 响应时间 * 并发数

TPS = 并发数 / 响应时间

3.5.其它性能测试指标

成功率:请求的成功率

PV(Page View) :页面/接口的访问量

UV(Unique Visitor) :页面/接口的每日唯一访客

吞吐量:网络中上行和下行的流量总和,吞吐量代表网络的流量,TPS越高,吞吐量越大

4.性能监控指标

操作系统级别监控

        CPU使用率、内存使用率、网络IO(input/output)、磁盘(read/write/util)

中间件监控

        连接数、长短连接、使用内存

应用层监控

        线程状态、JVM参数、GC频率、锁

DB层监控

        连接数、锁、缓存、内存、SQL效率

5.性能测试流程

  • 需求调研
  • 测试计划
  • 环境搭建
  • 数据准备
  • 脚本编写
  • 压测执行
  • 调优回归
  • 测试报告

6.性能测试工具

  • Loadrunner(功能强大、重量级、商业软件)
  • Jmeter(小巧灵活、轻量级、开源)
  • locust(Python开源框架)
  • Ngrinder( 开源压测平台)

下一篇将主要介绍下性能测试流程。

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

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

相关文章

Google准备好了吗?OpenAI发布ChatGPT驱动搜索引擎|TodayAI

在科技界波澜壮阔的发展中,OpenAI正式宣布其最新突破——一个全新的基于ChatGPT技术的搜索引擎,旨在直接挑战谷歌在搜索领域的统治地位。这一创新将可能彻底改变用户上网搜索的方式。 据悉,这款AI驱动的搜索引擎利用了ChatGPT的强大功能&…

快速搭建linux虚拟机环境

1、虚拟机资源 VMwareWorkstation:Download VMware Workstation Pro virtualbox:Oracle VM VirtualBox 2、虚拟机系统资源 链接:系统资源链接 提取码:0gat 说明:此处的系统资源是采用VMwareWorkstation 虚拟机进…

【postgreessql 】查询数据库表占用物理空间

查询单个表的磁盘使用量: SELECTrelname,pg_size_pretty ( pg_total_relation_size ( relid ) ) AS total_size FROMpg_catalog.pg_statio_user_tables; 查询所有表的总磁盘使用量: SELECTpg_size_pretty ( SUM ( pg_total_relation_size ( relid ) )…

【机器学习与实现】线性回归示例——波士顿房价分析

目录 一、创建Pandas对象并查看数据的基本情况二、使用皮尔逊相关系数分析特征之间的相关性三、可视化不同特征与因变量MEDV(房价中值)间的相关性四、划分训练集和测试集并进行回归分析 一、创建Pandas对象并查看数据的基本情况 boston.csv数据集下载&a…

《起风了》观后感

我想宫崎骏的电影是很多人心目中美好的回忆,每当听到有他的新电影要上映,总是迫不及待想去捧场,一刷二刷三刷却还是依然看得津津有味,这就是宫崎骏电影独特的魅力。《起风了》跟他的其他电影有很明显的不同,他的大部分…

Hive Partitioned Tables 分区表

Hive Partitioned Tables 分区表 1.分区表概念 Hive分区表(Partitioned Tables)是一种用于管理大量数据的机制,它可以将数据分散到不同的目录或分区中,以提高查询性能、优化数据存储和管理。 这种表结构可以根据某个列的值进行分…

【记录】Python3| 将 PDF 转换成 HTML/XML(✅⭐PyMuPDF+tqdm)

本文将会被汇总至 【记录】Python3|2024年 PDF 转 XML 或 HTML 的第三方库的使用方式、测评过程以及对比结果(汇总),更多其他工具请访问该文章查看。 文章目录 PyMuPDF 使用体验与评估1 安装指南2 测试代码3 测试结果3.1 转 HTML …

【2024最新华为OD-C卷试题汇总】字符串分割(100分) - 三语言AC题解(Python/Java/Cpp)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系列打算持续跟新华为OD-C卷的三语言AC题解 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 文章目录 前…

Springboot 集成 Consul 实现服务注册中心-05

因为后续很多模块都要用到注册中心,所以此处先实现此模块。 Consul简介 Consul是一个开源的服务发现和配置管理工具,具有跨平台、运行高效等特点。它由HashiCorp公司开发,并使用Go语言编写。Consul主要用于实现分布式系统中的服务发现、健康…

计算机毕业设计Python+Vue.js天气预测系统 中国气象质量采集与可视化 天气数据分析 天气可视化 天气大数据 天气爬虫 大数据毕业设计

摘要 随着科技技术的不断发展,人民物质生活质量不断提高,我们越来越关注身边的气象、空气等地理环境。对于普通居民我们会选择合适的气象进行出游,提高精神层面的生活质量;对于企业会关注气象变换状况,来定制相关的生产…

springboot lua检查redis库存

需求 最近需求需要实现检查多个马戏场次下的座位等席对应库存渠道的库存余量,考虑到性能,决定采用Lua脚本实现库存检查。 数据结构 库存层级结构 redis库存hash类型结构 实现 lua脚本 --- 字符串分割为数组 local function split(str, char)local…

rust容器、迭代器

目录 一,std容器 1,Vec(向量、栈) 2,VecDeque(队列、双端队列) 3,LinkedList(双向链表) 4,哈希表 5,集合 6,Binary…

HarmonyOS开发案例:【计算器】

介绍 基于基础组件、容器组件,实现一个支持加减乘除混合运算的计算器。 说明: 由于数字都是双精度浮点数,在计算机中是二进制存储数据的,因此小数和非安全整数(超过整数的安全范围[-Math.pow(2, 53),Math.…

TriCore User Manual 笔记 1

说明 本文是 英飞凌 架构文档 TriCore TC162P core archiecture Volume 1 of 2 (infineon.com) 的笔记,稍作整理方便查阅,错误之处,还请指正,谢谢 :) 1. Architecture 2. General Purpose & System Register 名词列表&#…

hadoop学习---基于Hive的教育平台数据仓库分析案例(二)

衔接第一部分,第一部分请点击:基于Hive的教育平台数据仓库分析案例(一) 意向用户模块(全量分析): 需求指标: 需求一: 计期内,新增意向客户(包含自己录入的意…

kaggle叶子分类比赛(易理解)

说实话网上很多关于叶子分类比赛的代码能取得的成绩都很好,但对于我这个业余人员太专业了,而且很多文章都有自己的想法,这让我这个仿写沐神代码的小菜鸡甚是头痛。 但好在我还是完成了,虽然结果并不是很好,但是如果跟着沐神走的同…

Spring+Vue的卓越托管中心管理系统的设计与实现+PPT+论文+讲解+售后

相比于以前的传统手工管理方式,智能化的管理方式可以大幅降低运营人员成本,实现了卓越托管中心管理系统的标准化、制度化、程序化的管理,有效地防止了卓越托管中心管理系统的随意管理,提高了信息的处理速度和精确度,能…

PTA|小字辈

题目 本题给定一个庞大家族的家谱,要请你给出最小一辈的名单。 输入格式: 输入在第一行给出家族人口总数 N(不超过 100 000 的正整数) —— 简单起见,我们把家族成员从 1 到 N 编号。随后第二行给出 N 个编号&#x…

顺序表的实现(迈入数据结构的大门)

什么是数据结构 数据结构是由:“数据”与“结构”两部分组成 数据与结构 数据:如我们所看见的广告、图片、视频等,常见的数值,教务系统里的(姓名、性别、学号、学历等等); 结构:当…

三分钟了解计算机网络核心概念-数据链路层和物理层

计算机网络数据链路层和物理层 节点:一般指链路层协议中的设备。 链路:一般把沿着通信路径连接相邻节点的通信信道称为链路。 MAC 协议:媒体访问控制协议,它规定了帧在链路上传输的规则。 奇偶校验位:一种差错检测方…