性能测试-常用指标

性能测试-常用指标

1.并发数

PV / PV time * 因数

单一场景:所有用户在同一时刻做同一种操作。(一般用于验证程序或数据库的并发能力)

狭义上:指同一个时间点执行相同的操作(秒杀)

理解:并发用户,一直增加人,一旦这些人同时做一个事,那就是并发用户

 

复合场景:多个用户对测试系统发起多个请求,请求种类不同。(一般用于总体大规模测试)

广义上(企业中常用):如果是3个人,有的登录了,有的登录进入做其他

理解:同一时间点,发起的请求不相同也可以,对于服务器来说,同时处理3个事情。处理了不同事情,也是并发。

 

2.集合点:

loadrunner里有一个设置集合点,jmeter也有一个集合点的设置。

本来有10个人,并发用户,这10个人,有个人跑前面了,有的人跑后面了,中间立一个杆子(设置集合点,数据自己定,这里定为3),跑过来等着,没跑过来的接着跑,只要有3个人就可以继续跑了,一定要等3个人,才能继续跑。

真正的三个人做一件事。同一时间做相同请求

集合点有一个策略,需要自己定。

集合点可以最大压力、并发。

 

3.并发用户数(重要指标)

同一时间点,执行相同请求的用户数

并发用户数:真正对系统产生压力的用户,同一时间用户进行了操作。

 

系统用户数、在线用户数、线程数

系统用户数:系统内注册的用户数,也可能是僵尸用户。

在线用户数:登录系统的用户,可能对系统产生压力的用户,因为有登陆后什么都不做的用户。


线程数:就是核心数,跟人的脑子一样,核心数2就说明CPU有两个脑子。脑子越多解决问题速度越快。CPU的核心数越高处理速度就越高。核心数2通俗地说就是双核CPU了。但自超线程技术问世后,一个核心可以同时2个线程了。使CPU性能上升百分之40。

线程与进程

https://blog.csdn.net/weixin_42981419/article/details/86162071

 

4.事务(Transaction)

指一个客户机像服务器发送请求然后服务器作出反应的过程

并没说一个请求,也没说同一个请求

如果加上发送同一个请求,那这一个接口就是一个事务,一个事务就是一个接口请求

如果不加,就是一个人(客户机),发起多个请求,一个事务就是3个请求,登录,购物,支付,也是一个事务。

一个事务可以是一个请求,也可以是多个请求。

jmeter,默认一个接口请求就是一个事务,当前这个接口的指标值

jmeter,也可以设置一个事务下,多个接口请求,加上事务控制器,这个业务的性能指标值(多个接口)

请求、接口、事务

 

5.响应时间(RT)重要指标

从发起请求到收到请求响应的时间

发送请求网络传输时间+服务器处理时间+返回响应网络传输时间

响应时间 = 网络延迟 + 应用程序响应时间

用户点击按钮 -> 手机发出请求 -> 经过运营商网络 -> DNS域名解析 -> 到达机房 -> 经过防火墙 -> 被应用服务器接收 -> 处理用户请求 -> 访问数据库查询 -> 返回HTML结果 -> 手机接收到数据 -> 页面渲染
我们可以把控的:接收用户请求、处理用户请求、访问数据库、(页面渲染)
 

 

6.TPS\QPS最主要指标

TPS(Transactions per Second):服务器每秒处理事务数,衡量服务器处理能力的最主要指标,是事务数,不是请求数。

累计执行次数 / 测试执行秒数(每秒通过事务数(TPS))

直接反映系统性能的指标,该值越大,说明系统性能表现越好,但每个系统都有TPS上限,它并不随着并发用户的多少而改变。
一般情况下, 及格的 tps = 并发数 / 0.3,也就是响应时间低于300ms。



企业里QPS(Queries per Second):服务器每秒处理事务数,衡量服务器处理能力的最主要指标      每秒查询率  大

无法用jmeter或lr这个来得到,这个是企业的,一个接口需要查询好多次,就出现好多个请求,Queries。

差异:一个Transactions可能有多个Queries,如访问网页

 

7.吞吐量(Throughput)

衡量网络,上行、下载都一样,就是等于TPS,网络足够宽,默认是一个请求一个事务,两个数值上相等。网络足够宽,一个事务多个请求,吞吐量不等于事务,1tps 3个吞吐量

单位时间内系统处理的请求数量,能直接反应服务器承受的压力水平。(事务/s)

如:港口吞吐量,一年5千万标准集装箱

 

8.吞吐率

单位时间通过的数据平均速率(KB/S)

港口日吞吐率,年吞吐量/365天

 

9.点击率(Hit per Second)

每秒点击数

 

10.思考时间

每个用户进行操作之间的间隔时间,可以更真实的模拟用户操作。 比如在贴吧发帖过快,会被提示:“两次发帖时间的间隔不能小于15秒。”

 

 

11.资源利用率 重要

(16核或32核的服务器,要看16核的使用率,不能只看一个,单核是100%都可以,不要达到80%的使用率,16*80%,4个核的闲置)

指服务器资源的使用程度,比如服务器(应用及数据库)的cpu利用率,内存利用率,磁盘利用率

内存利用率,不要超过80%

磁盘I/O

系统资源

  • CPU:一般不允许超过60%。
  • CPU Average:每个cpu核上等待的事务数,一般在top里查看,正常情况数值不可以超过cpu的物理核数。
  • 内存:只要不是free太少,一般不用在意,重点观察jvm的内存。
  • 硬盘IO: 现在的应用读多写少,对于IO需求不高,但是要注意log输出的影响。
  • 网络:一般很少出现网卡跑满的情况,一般中间件TFS、Tair的性能测试会遇到
    性能测试分类