文章目录
前言
本篇文章重点讨论性能测试的相关概念和术语。
一、什么是性能测试
性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备。
一般地,它主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。性能指标里包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能力等等。
二、性能测试指标
1.并发数
(1)并发用户数
并发用户数是一批用户同时在干同一件事情(事务),如登录系统。
(2)在线用户数
在线用户数指一些用户在系统上,有些在浏览网页、有些在查询、有些进入系统,还有些在做其他与系统无关的事情等。
2.响应时间
(1)从用户视角来考虑,响应时间反映了完成某个操作所需要的时间,标准定义是,应用系统从发出请求开始,到客户端接收完所有的字节数据所消耗的时间。
(2)响应时间=用户响应时间+前端响应时间+网络响应时间+服务器端响应时间+数据库响应时间。响应时间是反映系统处理效率的指标之一。
3.吞吐率
(1)吞吐率是单位时间内的吞吐量。单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。吞吐量是服务器所能处理事务的能力。
(2)吞吐率的单位:字节数/秒、业务数/秒、点击数/秒、请求数/秒。
4.资源利用率
(1)资源利用率反映的是不同系统资源的使用情况。包含CPU,内存,硬盘,网络等。
(2)计算公式:资源利用率=资源实际使用量/总的资源可用量
(3)资源利用率反映系统耗能指标,包括:CPU利用率,内存利用率,硬盘空间利用率,网络宽带利用率。
5.事务响应时间
每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标。这里的一个事务是一个业务度量单位,是指一组密切相关的子操作的组合。
6.TPS
(1)TPS叫做每秒事务通过数,是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。
(2)当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。
7.点击率
每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。
三、性能测试的分类
1.并发测试
并发测试(Concurrent Testing)是指在一定的软件、硬件及网络环境下,通过运行一种或多种业务在不同虚拟用户数量情况下测试服务器的性能指标是否在用户的要求范围内,用于确定系统能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。
2.容量测试
容量测试(VolumeTesting)是指在一定的软件、硬件及网络环境下,例如向数据库中构造不同数量级别的数据记录,通过运行一种或多种业务在一定的虚拟用户数量情况下,获取不同数据级别的服务器性能指标,以确定数据库的最佳容量。
3.压力测试(强度测试)
强度测试(StrengthTest)在高于性能测试拐点的情形上,测试软件的表现形式。
4.可靠性测试(疲劳测试)
疲劳性测试(StressTesting)是指在一定的软件、硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。
5.配置测试
配置测试(ConfigurationTesting)是指在不同的软件、硬件、环境以及网络环境配置下,通过运行一种或多种业务在一定的虚拟用户数量情况下获得不同配置的性能指标,用于选择最佳的设备及参数配置。
总结
以上就是性能测试的相关概念和术语。在实际项目中,性能测试是必须得单独完成的一项重要工作。它关系到用户对产品的最终满意度。做好性能测试能够帮助运维人员更好的规划硬件配置。