目录
不同人眼中的性能测试要求
系统用户眼中的性能测试
1、耗费成本:软、硬件配置要求不是很高,购买成本较低,间接其实意味着系统在运行时使用较少的CPU、内存、网络等资源。
2、处理能力:业务处理能力,包括单位时间内处理的业务数量、每个业务处理的时间、能支持多少用户同时做业务、系统能否长时间稳定提供服务等。这些时最直接和最真实的系统用户感受。
软件开发中眼中的性能测试
1、目标:业务操作正常、系统响应快速、稳定运行
2、系统良好性能根本所在:框架设计、程序设计、数据库设计、代码和SQL语句等的执行效率
系统维护群体眼中的性能测试
应用服务器等软硬件的配置及网络硬件设备配置、拓扑结构等方面的内容,通过更换、调整软硬件及网络结构的配置能否使得系统性能更好。
性能测试概念
系统性能包括执行效率、资源占用、系统稳定、安全性、兼容性、可靠性、可扩展性等。主要通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试
1、负载测试
通过逐步加压的方式来确定系统的处理能力和能够承受的各项阈值。例如:通过逐步加压得到“响应时间不超过10秒”、“服务器平均CPU利用率低于85%”等指标的阈值。
2、压力测试
逐步增加负载,是系统某些资源达到饱和甚至失效,最终确定在什么负载条件下系统性能处于失效状态来获得系统能提供的最大服务级别的测试。
3、配置测试
通过对被测系统的软硬件配置的测试,找到系统各项资源的最优分配原则。配置测试能充分利用有限的软硬件资源,发挥系统的最佳处理能力,从而将其与其他性能测试类型联合应用,从而为系统调优提供最重要依据。
4、并发测试
多个用户同时访问一个应用、同一模块或数据记录时是否存在锁死或者其他性能问题。一般借助工具模拟并发。
5、容量测试
在一定软硬件条件下,在数据库中构造不同数量级的记录数量,通过运行一种或多种业务场景,在一定虚拟用户数量的情况下,获取不同数量级别的性能指标,从而得到数据库能够处理的最大会话能力、最大容量等。系统可处理同时在线的最大用户数,通常和数据库有关。
6、可靠性测试
通过给系统加载一定的业务压力(如CPU资源在70%~90%的使用率)情况下,运行一段时间,检查系统是否稳定。因为运行时间较长,所以通常可以测试出系统是否有内存泄漏等问题。在多数情况下,可靠性测试时执行一段时间,如24小时、3*24小时或7*24小时来模拟长时间运行,通过长时间运行的相关监控和结果来判断能否满足需求,平均故障间隔时间(MTBF)时衡量可靠性的一项重要指标。
7、失败测试
对于有冗余备份和负载均衡的系统,通过失败测试来检验如果系统局部发生故障,用户能否继续使用系统,用户收到多大的影响,如几台机器做均衡负载,一台或几台机器垮掉后系统能够承受的压力。
性能指标
1、吞吐量
单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力,一般吞吐量越大,系统单位时间内处理的数据越多,系统的负载能力越强。是衡量服务器能力的重要指标。
在没有遇到性能瓶颈时,吞吐量=(并发虚拟用户数*每个VU发出的请求数量)/性能测试所用时间
2、并发数量
并发性测试描述的是多个客户端同时向服务器发出请求,考察服务器端承受能力的一种性能测试方式。服务器承受的压力不仅取决于业务并发用户数,还取决于用户的业务场景。
平均的并发用户数=(login session数量*login session平均长度)/考察时间段长度
并发用户数峰值=平均并发用户数+平均并发用户数的根号值*3
3、思考时间
录制脚本过程中,每个请求之间的时间间隔。思考时间与迭代次数、并发用户数以及吞吐量存在一定的关系。真实场景需要计算思考时间,极限场景直接删除或者注释掉这个参数。
用户发出请求数=使用时间/思考时间
思考时间的出步骤:
(1)计算并发用户数
(2)计算吞吐量
(3)计算平均每个用户发出的请求数量
(4)计算思考时间
4、响应时间
响应时间=网络传输时间+Web应用服务器处理延迟时间+数据库服务器延迟时间
通常我们最关心的是平均响应时间,指系统为你的难过运行时间段内,同一业务的平均响应时间。
5、点击数
统计根据客户端向web服务器发了多少次HTTP请求计算。通常也用每秒点击次数指标来衡量web服务器的处理能力。
6、性能计数器
描述服务器(数据库服务器、应用服务器等)操作系统、中间件等性能的一些数据指标。单一的计数器只能体现系统的性能的某一个方面,对系统的测试结果的分析必须基于多个不同的计数器。
7、资源利用率
在一定并发中,CPU利用率
利用率=(资源使用量/总的资源可用量)*100%
8、网路吞吐量
单位时间内通过网络的数据数量,通常用于衡量系统对于网络设备或链路传输能力的需求。
9、错误率
指系统在负载情况下,失败交易的概率
错误率=(是啊比交易数/交易总数)*100%,一般不超过千分之五
稳定性较好的系统,其错误率应该由超市引起,即为超时率。
10、系统稳定性
稳定运行时间,表示系统在标准压力(系统预期日常压力)的情况下,能够稳定运行的时间。