前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【性能测试】2. 性能测试都关注哪些性能指标?

【性能测试】2. 性能测试都关注哪些性能指标?

原创
作者头像
历久尝新
发布2021-08-09 13:39:25
7950
发布2021-08-09 13:39:25
举报
文章被收录于专栏:学而时习之

先看图:

上述图中,三线,三区,两点,三状态

  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)

TPS:

描述每秒事务数(Transaction Per Second),在不同的行业或者业务中定义的粒度都是不相同的,不管在哪里使用TPS,都因该有一个前提,所有相关的人都需要知道T的具体定义

如何定义TPS?

一般来说,会根据场景的目的来定义TPS的粒度,如果是接口层性能测试,T可以直接定义为接口级;如果是业务级别的性能测试,T可以直接定义为每个业务步骤和完成整的业务流;

如果单独测试接口1,2,3,则T就是接口级别的,如果我们要从用户的角度来下一个订单,那1,2,3应该在一个T中,则是业务级的。

所以,性能中TPS中的T的定义取决于场景目标和T的作用,一般我们都会这样来定义事物

  • 接口级别脚本

事务start(接口1)---> 接口1脚本 ---> 事务end(接口1)

事务start(接口2)---> 接口2脚本 ---> 事务end(接口2)

事务start(接口3)---> 接口3脚本 ---> 事务end(接口3)

  • 业务级别脚本

事物start(业务A)---> 接口1脚本-接口2(同步调用)--->接口1脚本-接口3(异步调用)--->事务end

  • 用户级别脚本

事物start(业务A)---> 点击0-接口1脚本-接口2(同步调用)--->点击0-接口1脚本-接口3(异步调用)--->事务end

一般来说,我们会从上倒下的顺序一一的测试,这样路径清晰地执行容易定位问题

在性能测试过程中,TPS之所以重要的原因,是因为他可以反应出一个系统的处理能力

QPS:

一开始是用来描述 MySQL 中 SQL 每秒执行数 Query Per Second,所有的 SQL 都被称为 Query,其实描述的是服务的DB层数据库中SQL每秒的执行条数,如果描述的前端每秒查询数,就不包括插入更新删除更新操作了,这样描述系统整体的性能就不全面了,所以并不建议使用,以免产生误解。

RPS:

每秒请求数,Request per second,比较宽泛,常用于描述HTTP Resquest

HPS:

每秒点击数,Hits Per Second,hit一般用来描述http request,也有用来描述在界面上的点击次数,如果当他描述HTTP Resqust时,与RPS盖面一致

CPS/CPM

Calls Per Second/ Calls Per Minutes,每秒 / 每分钟调用次数

RT:

响应时间,response time

如上图,RT = T2 - T1,计算响应时间比较简单,但是响应时间的定位比较复杂;

压测工具中线程数和用户数与TPS

实际上,并发的线程并不能等价为真实用户,如下图开始解释

上图的4个箭头,每个箭头都代表着相同的事务,每个线程都可以在1s内完成4个事务,所以总的TPS为16

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档