概念和术语
并发数
并发用户数
并发用户数是一批用户同时在干同一件事情(事务),如登录系统,
在线用户数
在线用户数指一些用户在系统上,有些在浏览网页、有些在查询、有些进入系统,还有些在做其他与系统无关的事情等。
响应时间
响应时间=用户响应时间+前端响应时间+网络响应时间+服务器端响应时间+数据库响应时间,是反映系统处理效率的指标之一
吞吐率
吞吐率是单位时间内的吞吐量。吞吐量是服务器所能处理事务的能力。
吞吐率的单位:
字节数/秒、业务数/秒、点击数/秒、请求数/秒。
资源利用率
计算公式
资源利用率=资源实际使用量/总的资源可用量
资源利用率反映系统能耗指标
CPU利用率。
内存利用率。
硬盘空间利用率。
网络带宽利用率。
事务响应时间
事务是指一组密切相关的操作组合。例如一次登录可能包含了多次HTTP请求,如:判断用户是否存
密码是否正确?是否已登录?登录?等多个HTTP请求。
点击率
每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是
鼠标的一次点击,一次点击可能有多次HTTP请求。
TPS
每秒事务通过数(Transaction Per Second)TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。
当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,
对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。
性能测试的分类
基准测试
有基础的标准,这样能通过对比发现系统的不同点与变化。
应用于以下场景:
1)可以在制定的标准下通过基准测试建立一个性能基准,这样以后当系统的环境、参数发生变化之后,
再进行一次相同标准下的测试,即可看出变化对性能的影响。
2)系统进行基准测试可以在较早的阶段发现性能问题。
3)某系统从来没有进行过任何性能测试,需要对该系统做一次性能评估作为后续开发调优的参考。
并发测试
并发测试(Concurrent Testing)是指在一定的软件、硬件及网络环境下,通过运行一种或多种业务在不同虚
拟用户数量情况下测试服务器的性能指标是否在用户的要求范围内,用于确定系统能承载的最大用户数、
最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。
容量测试
容量测试(VolumeTesting)是指在一定的软件、硬件及网络环境下,例如向数据库中构造不同数量级别的数据记录,
通过运行一种或多种业务在一定的虚拟用户数量情况下,获取不同数据级别的服务器性能指标,以确定数据库的最佳容量。
压力测试(强度测试)
压力测试是测试系统在一定饱和状态下,例如cpu、内存等在饱和使用状态下,系统能够处理的会话能力,
以及系统能否会出现错误。压力测试与负载测试有些类似,经常把负载测试描述成压力测试的一种场景-例如增加用户数
对系统进行压力测试。压力测试的目的是为了揭露高负载下的问题,例如资源竞争、同步问题、内存泄漏等。
可靠性测试(疲劳性测试)
疲劳性测试(StressTesting)是指在一定的软件、硬件及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,
使服务器的资源处于极限状态下长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。
配置测试
配置测试(ConfigurationTesting)是指在不同的软件、硬件、环境以及网络环境配置下,通过运行一种或多种业
务在一定的虚拟用户数量情况下获得不同配置的性能指标,用于选择最佳的设备及参数配置。
负载测试(Load Testing)
负载测试是在被测系统上不断增加压力,直到各项指标达到饱和,例如“响应时间”超过预定指标或者某种资源使用已经达到饱和状态。
这种测试方法可以找到系统的处理极限,为系统调优提供数据。
失效恢复测试(Failover Testing)
1.失效恢复测试方法是针对有备份和负载均衡的系统设计的,这种测试方法可以用来检验如果系统局部发生故障,
用户能否继续使用系统,以及如果这种情况发生,用户将受到多大程度的影响。
2.一般的关键业务系统都会采用热备份或是负载均衡的方式来实现。这种业务系统一般要求有一台或几台服务器出
现问题,应用系统仍然可以正常执行业务。该方法就是在测试中模拟设备故障,验证预期的恢复技术是否可以正常发挥作用
3.不是所有的系统都需要进行这种类型的测试,尤其是并没有明确给出系统需要持续运行指标的系统
大数据量测试:
大数据量测试的两种类型:
1.独立的数据量测试
针对某些系统存储、传输、统计、查询等业务进行大数据量测试
2.综合数据量测试
和压力测试、负载测试、并发测试、可靠性测试相结合的综合测试方案