性能测试的指标
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试的指标相关的知识,希望对你有一定的参考价值。
包括负载测试,强度测试,数据库容量测试,基准测试以及竞争测试。负载测试,一种性能测试指数据在超负荷环境中运行,程序是否能够承担。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
对计算机软件进行测试前,首先需遵循软件测试原则,即不完全原则的遵守。不完全原则即为若测试不完全、测试过程中涉及免疫性原则的部分较多,可对软件测试起到一定帮助。
因软件测试因此类因素具有一定程度的免疫性,测试人员能够完成的测试内容与其免疫性成正比,若想使软件测试更为流畅、测试效果更为有效,首先需遵循此类原则,将此类原则贯穿整个开发流程,不断进行测试,而并非一次性全程测试。 参考技术A
性能测试主要是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行。通过负载测试,确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。压力测试是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
在实际工作中我们经常会对两种类型软件进行测试:bs和cs,这两方面的性能指标一般需要哪些内容呢?
Bs结构程序一般会关注的通用指标如下(简):
Web服务器指标指标:
* Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数;
* Avg time to last byte per terstion (mstes):平均每秒业务脚本的迭代次数,有人会把这两者混淆;
* Successful Rounds:成功的请求;
* Failed Rounds :失败的请求;
* Successful Hits :成功的点击次数;
* Failed Hits :失败的点击次数;
* Hits Per Second :每秒点击次数;
* Successful Hits Per Second :每秒成功的点击次数;
* Failed Hits Per Second :每秒失败的点击次数;
* Attempted Connections :尝试链接数;
CS结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标:
* User 0 Connections :用户连接数,也就是数据库的连接数量;
* Number of deadlocks:数据库死锁;
* Buffer Cache hit :数据库Cache的命中情况
当然,在实际中我们还会察看多用户测试情况下的内存,CPU,系统资源调用情况。这些指标其实是引申出来性能测试中的一种:竞争测试。什么是竞争测试,软件竞争使用各种资源(数据纪录,内存等),看他与其他相关系统对资源的争夺能力。
我们知道软件架构在实际测试中制约着测试策略和工具的选择。如何选择性能测试策略是我们在实际工作中需要了解的。一般软件可以按照系统架构分成几种类型:
c/s
client/Server 客户端/服务器架构
基于客户端/服务器的三层架构
基于客户端/服务器的分布式架构
b/s
基于浏览器/Web服务器的三层架构
基于中间件应用服务器的三层架构l
基于Web服务器和中间件的多层架构l
评估网站性能好与不好的指标有很多,像CPU占有率、页面最大并发数、网站接受命令返回结果的响应时间,网络传输量总和,TPS、点击率等。
评判网站性能需要进行多次性能测试查看网站性能测试指标是否正常,一般也可以通过很多网站性能测试工具进行,当然最好是通过像卓码软件测评这样的第三方测试机构做,这样才能对网站性能有个细致客观的评估。
性能测试的分类以及性能测试的指标
参考技术A 狭义:单用户测试广义:建立基准线,当系统软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。
1.概念:通过逐步增加系统负载,确定在满足性能指标的情况下,找出系统所能承受最大负载的测试。
作用:系统最大负载量达到用户要求时,系统才能正式上线。
注意:①通过负载测试,可以确定系统的最大负载量和极限负载量
②系统对外宣称的最大负载量
③负载测试的时间一般为1-2小时
1.概念:在服务器稳定运行(用户正常业务负载下)的情况进行长时间测试(1天-一周等),并最终保证服务器能满足线上业务需求。
2.系统在用户需求的业务负载下运行达到规定的时间时,系统才能正式上线使用。
1.概念:在强负载下的测试,查看系统在峰值下是否功能隐患、系统是否具有良好的容错能力和可恢复的能力。
2.测试场景:高负载下的长时间稳定性压力测试 (如:B-C区间内进行24/3*24小时长时间测试)极限负载下的破坏性压力测试(如:C-D区间内进行测试)
1.概念:在极短时间内,发送多个请求,来验证服务器对并发的处理能力。
2.应用场景:特定的活动场景:抢红包、秒杀、抢购等。
3.与负载测试对比:
负载测试:主要目的是测试高负载情况下,对系统资源的消耗,是否会耗尽的问题(双11活动)
并发测试:主要目的是测试极短时间内,并发请求时,系统资源争抢的问题(抢红包、秒杀)
1.指从客户端发起请求开始,到客户端接收到结果的总时间
2.包括:服务器处理时间 + 网络传输时间
某一时刻同时向服务器发送请求的用户数
1.概念:单位时间内处理客户端的请求数量,直接体现软件系统的承载能力。
2.吞吐量单位分类
QPS:每秒查询数,即控制度服务器每秒处理的指定请求数量。
TPS(Transaction Per Second)每秒事务数,即控制服务器每秒处理事务请求的数量。
如:支付请求事务=查询用户余额请求+校验支付安全请求+发送支付请求
每秒处理查询用户余额15请求,每秒处理校验支付安全15个请求,每秒处理发送支付15个请求
支付tsp为15
所有的页面元素(如:图片、链接、框架等)的请求总数 量
注意:点击数是请求数,不是页面上的一次点击
指系统在负载情况下,失败业务的概率
注意:
①.错误率是性能指标,是高负载下的失败业务的概率
②.随机bug是功能bug,先解决随机bug才能进行性能测试
1.概念:系统各种资源的使用情况,率=资源使用量/总资源可用量x100%
常见资源指标:
CPU使用率:不高于75%-85%
内存大小使用率:不高于80%
磁盘IO(速率):不高于90%
网路(速率):不高于80%
以上是关于性能测试的指标的主要内容,如果未能解决你的问题,请参考以下文章
性能测试性能测试之性能测试指标详解(性能指标CPU内存负载磁盘)