性能测试指标

一、性能测试

1、概念:

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。通过压力测试,确定一个系统的瓶颈或者不能接受的性能点,来获得系统能提供的最大服务级别的测试。

2、分类:

压力测试:强调极端暴力 
稳定性测试:在一定压力下,长时间运行的情况 
基准测试:在特定条件下的性能测试 
负载测试:不同负载下的表现 
容量测试:最优容量

二、性能指标

1、性能指标分类

 不同人群关注的性能指标各有侧重。后台服务接口的调用者一般只关心吞吐量、响应时间等外部指标。后台服务的所有者不仅仅关注外部指标,还会关注CPU、内存、负载等内部指标。

(1)、内部指标(资源指标)

从服务器角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等

(2)、外部指标(系统指标)

从外部看,性能测试主要关注如下三个指标

  • 吞吐量:每秒钟系统能够处理的请求数、任务数。

  • 响应时间:服务处理一个请求或一个任务的耗时。

  • 错误率:一批请求中结果出错的请求所占比例。

2、外部指标——吞度量

一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。单个reqeust 对CPU消耗越高,外部系统接口、IO速度越慢,系统吞吐能力越低,反之越高。

(1)、吞吐量主要受以下三方面因素影响:

  • 吞吐量越大,响应时间越长。

  • 服务器硬件配置越高,吞吐量越大。

  • 网络越差,吞吐量越小。

在低吞吐量下,响应时间的均值、分布比较稳定,不会产生太大的波动。

在高吞吐量下,响应时间会随着吞吐量的增长而增长,增长的趋势可能是线性的,也可能接近指数的。当吞吐量接近系统的峰值时,响应时间会出现激增。

(2)、决定吞吐量的三个重要参数:

QPS(TPS):每秒钟request/事务数量

并发数: 系统同时处理的request/事务数

响应时间:  一般取平均响应时间

           注意:很多人经常会把并发数和TPS理解混淆

(3)参数之间的关系:

QPS(TPS)= 并发数/平均响应时间

        一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统性能下降。

 3、外部指标——响应时间

 决定响应时间的要素:系统一次调用的响应时间受CPU运算、IO、外部系统响应等因素影响。

 4、外部指标——错误率

错误率和服务的具体实现有关。通常情况下,由于网络超时等外部原因造成的错误比例不应超过5%%,由于服务本身导致的错误率不应超过1% 。

三、针对B/S、C/S软件架构的性能指标

 

  • 对于B/S架构的软件,一般会关注如下Web服务器性能指标:

    Avg Rps:平均每秒钟的响应次数=总请求次数/秒数;

    Avg time to last byte per terstion (mstes):平均每秒业务脚本的迭代次数;

    Successful Hits:成功的点击次数;

    Failed Hits:失败的点击次数;

    Hits Per Second:每秒点击次数;

    Successful Hits Per Second:每秒成功的点击次数;

    Failed Hits Per Second:每秒失败的点击次数;

    Attempted Connections:尝试连接数;

    Throughput:吞吐率;

  • 对于C/S架构的程序,由于软件后台通常为数据库,所以我们更注重数据库的测试指标。

    User Connections:用户连接数,也就是数据库的连接数量;

    Nunber of Deadlocks:数据库死锁;

    Butter Cache Hit:数据库Cache的命中情况。

四、常见性能瓶颈

1、内存持续上涨:在吞吐量固定的前提下,如果内存持续上涨,那么很有可能是被测服务存在明显的内存泄漏,需要使用valgrind等内存检查工具进行定位。

五、获取并分析性能指标数据

1、内部指标:

(1)、Windows系统——利用设备的任务管理器(执行taskmgr)

Chrome内部的任务管理器(浏览器各链接占用系统的数据)

(2)、Linux系统——利用linux指令

获取指定进程的CPU使用情况最常用的是top命令;

网络流量监控可以使用nethogs命令;

监控磁盘状态用iostat命令;

(Linux不做详细讲解)

2、外部指标:

注意:使用Jmeter工具进行压力测试,通过不同类型的监听器获取各项指标数据,并对系统进行性能分析;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值