首页 > 其他分享 >极客时间《性能测试实战》——性能测试基础

极客时间《性能测试实战》——性能测试基础

时间:2023-01-05 00:00:17浏览次数:39  
标签:场景 性能 极客 TPS 性能指标 测试 用户数

性能测试的概念

1.性能测试概念的传统解释:

压力测试 压力测试是评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。在压力级别逐渐增加时,系统性能应该按照预期缓慢下降,但是不应该崩溃。压力测试还可以发现系统崩溃的临界点,从而发现系统中的薄弱环节。
容量测试 确定系统可处理同时在线的最大用户数,使系统承受超额的数据容量来发现它是否能够正确处理。
极限测试 在过量用户下的负载测试。

2.作者给出的定义

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

TPS和响应时间关系

1.性能测试示意图

0 在这个图中,定义了三条曲线、三个区域、两个点以及三个状态描述。
  1. 三条曲线:吞吐量的曲线(紫色)、使用率 / 用户数曲线(绿色)、响应时间曲线(深蓝色)。
  2. 三个区域:轻负载区(Light Load)、重负载区(Heavy Load)、塌陷区(Buckle Zone)。
  3. 两个点:最优并发用户数(The Optimum Number of Concurrent Users)、最大并发用户数(The Maximum Number of Concurrent Users)。
  4. 三个状态描述:资源饱和(Resource Saturated)、吞吐下降(Throughput Falling)、用户受影响(End Users Effected)。
这张图呢,本来只是一个示意,用以说明一些关系。 有些人将第一张图中的 Light load 对应为性能测试,Heavy Load 对应为负载测试,Buckle Zone 对应为压力测试……还有很多的对应关系。 事实上,这是不合理的。下面用场景的定义来替换这些混乱的概念。

2.场景定义

0 0 上图中蓝线表示 TPS,黄色表示响应时间。 在 TPS 增加的过程中,响应时间一开始会处在较低的状态,也就是在 A 点之前。接着响应时间开始有些增加,直到业务可以承受的时间点 B,这时 TPS 仍然有增长的空间。再接着增加压力,达到 C 点时,达到最大 TPS。我们再接着增加压力,响应时间接着增加,但 TPS 会有下降(请注意,这里并不是必然的,有些系统在队列上处理得很好,会保持稳定的 TPS,然后多出来的请求都被友好拒绝)。 最后,响应时间过长,达到了超时的程度。

怎么理解TPS、QPS、RT、吞吐量这些性能指标

1.性能指标

0 所有的技术指标都是在有业务场景的前提下制定的,而技术指标和业务指标之间也要有详细的换算过程。 看一下性能测试行业常用的性能指标表示法: 0

2.性能测试关键字

  1. 性能测试概念中:性能指标、性能模型、性能场景、性能监控、性能实施、性能报告。
  2. 性能场景中:基准场景、容量场景、稳定性场景、异常场景。
  3. 性能指标中:TPS、RT。 (记住 T 的定义是根据不同的目标来的)

工具使用

1.主要工具对比

0 主要是使用JMeter和LoadRunner。

2.性能团队绩效点体现

  • 通过你的测试和分析优化之后,性能提升了多少?
  • 通过你的测试和分析优化之后,节省了多少成本?

指标关系:并发用户数如何计算

什么是并发

如此描述:并发数是 16TPS,就是 1 秒内整个系统处理了 16 个事务。

在线用户数、并发用户数

0 0

性能分析思路

性能测试分析的能力阶梯视图

0

性能分析思路大纲

  • 瓶颈的精准判断;
  • 线程递增的策略;
  • 性能衰减的过程;
  • 响应时间的拆分;
  • 构建分析决策树;
  • 场景的比对。

性能衰减

只要每线程每秒的 TPS 开始变少,就意味着性能瓶颈已经出现了。但是瓶颈出现之后,并不是说服务器的处理能力(这里我们用 TPS 来描述)会下降,应该说 TPS 仍然会上升,在性能不断衰减的过程中,TPS 就会达到上限。 TODO 06讲的图                  

标签:场景,性能,极客,TPS,性能指标,测试,用户数
From: https://www.cnblogs.com/zjfjava/p/17026334.html

相关文章

  • ES Client性能测试初探
    最近在工作中协助研发进行了ES优化,效果还是非常明显的,几乎翻倍。除了通过各种业务接口测试ES性能以外,还可以直接请求ES接口,绕过服务,这样应该数据回更加准确。所以,ESClient......
  • APP测试 - Monkey遍历命令详解
    1、启动monkey#对手机点击1000次,不限制应用adbshellmonkey1000#限制在设置的应用中,点击1000次adbshellmonkey-pcom.cleanmaster.mguard1000#设置点击事件......
  • 批量测试linux密码
    importparamikossh=paramiko.SSHClient()ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())defSshCheck(ip,password):globalis_findis_f......
  • django 如何提升性能(高并发)
    django如何提升性能(高并发)对一个后端开发程序员来说,提升性能指标主要有两个一个是并发数,另一个是响应时间网站性能的优化一般包括web前端性能优化,应用服务器性能优化,存......
  • 自研ORM Include拆分查询(递归算法 支持无限层级) 性能优化探讨
    最近我在优化 Include拆分查询,贴出源码供大家交流探讨是否还有优化空间。测试代码1Console.WriteLine($"总记录数:{db.Query<Category>().Count()}......
  • mysql性能分析之隐式类型转化
    之前遇到过一个问题,建表时将字段status的类型设置为varchar,插入数据时,该字段的值只有0和1两种情况,在该字段上建立索引,使用wherestatus=1查询时却并没有走索引。如下所示:1......
  • 《安富莱嵌入式周报》第290期:开源静电便携测试仪,开源音频功放,CAN高波特率设计,超级铁电
    ​​​​ 上周更新了一期视频教程:USB应用实战视频教程第4期:手把手玩转基于QT6.4的USBBULK上位机和下位机开发下篇(2022-11-07) 视频版:​​https://www.bilibili.com/video/......
  • Qt线程测试
    Qt线程测试#include"vcmainthread.h"VCMainThread::VCMainThread(QWidget*parent):QMainWindow(parent){ui.setupUi(this);videoThread1=newVi......
  • 万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
    众所周知,Python3.11版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!作者:Beshr......
  • 简易PC基准测试丨PerformanceTest功能简介
    简易PC基准测试1、将您的PC的性能与世界各地的类似计算机进行比较。2、衡量配置更改和硬件升级的效果。3、自1998年以来的行业标准。您可以直接从USB驱动......