性能测试基础知识

一、性能测试中的常见指标及其含义

1、并发用户数

并发用户的含义分为狭义和广义两种。

狭义上的,或者说严格意义上的并发用户,指的是同一时刻做同一件事件的用户,如操作同一记录或不同记录。

广义上的,则是指在同一时间内,对系统发出请求或操作,可以是相同的请求或操作,也可以是不同的。

狭义的并发用户,主要用于针对核心模块或核心算法的测试中,与功能相关,是健壮性和稳定性测试的一部分,需要在广义的并发测试前进行。

而并发用户数,就是同一时刻与服务器进行交互的在线用户数量。

2、请求响应时间

请求响应时间,是指客户端发出请求到得到响应的整个过程的时间,包括了网络响应时间、应用与系统的响应时间。

4、事务响应时间

事务,是有一系列请求组成的,其响应时间针对用户而言,属于宏观的业务上的概念。顾名思义,事务响应时间,则是用户完成一个对于用户来说具有原子性价值的业务操作的时间,包含了一个或多个请求。

5、吞吐量

一次性能测试过程中,网络上传输的数据流量的总和。

6、吞吐率

单位时间内的吞吐量,常用单位有字节数/秒、请求数/秒、页面数/秒。

7、TPS

每秒能够处理的交易或事物的数量。

8、点击率

点击率,指的是每秒用户向服务器提交的http请求的数量,是web应用特有的。注意,鼠标在页面的单击数不一定等于点击数!一次单击,可能会发起多个请求,引起多个点击。

9、资源利用率

不同资源的使用程度,是分析与改善系统性能的主要依据。我们只有在充分了解了JVM、操作系统、数据库、网络等各方面的基础原理,才能做出有效的分析。

思考:

并发用户数,是否与force-bot上的虚拟用户数有区别?

二、性能测试的种类

1、压力测试

对系统不断施加压力,通过确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大服务级别。

2、负载测试

在被测系统上不断增加压力,知道性能指标达到极限。

3、强度测试

为了测试系统在异常情况下的处理能力。

4、并发测试

测试多用户同时访问同一系统、同一模块、同一业务功能、同一数据记录时,是否存在功能或性能问题。

5、大数据量测试

大数据量分为两种情况,一种是运行时大数据量测试,例如较长数据的请求处理;一种是历史大数据量测试,例如在海量存量数据的情况下,对系统进行读写操作。

6、配置测试

通过测试,找到系统各项资源的最优分配原则,用于性能调优。

7、可靠性测试

一定压力下,长时间运行,确定系统是否稳定可靠。

8、狭义性能测试

即我们常规的性能测试,模拟生产运行时的使用场景和业务压力,评估系统的性能是否满足生产性能要求。通常施加的压力,会稍稍超出正常压力,以便系统对于一些峰值情况能留有余地。

思考:

以上各种测试,只是概念上的区分,在实际执行中并没有明显的界限区分,我们应当理解各类测试的目的,对比条件、目的和手段,厘清内部联系,在实际项目中有机组合,高效执行。

三、粗谈性能调整

1、目的

性能调整的目的,是为了改变系统的性能特性。

性能调整,而不是叫做性能调优,是因为所做的调整,并不一定使得系统获得整体的性能提升,有可能存在拆东墙、补西墙的情况。

2、步骤

性能调整包括以下几个步骤:

1)确定问题

2)确定原因

3)确定调整目标

4)确定解决方案

确定解决方案时,应考虑是整体性能得到改善,还是牺牲了其他部分性能。如果牺牲了其他部分性能,需要回过头去修正调整目标,同时劣化的那部分性能指标,也需要在后继的测试中进行验证。

5)测试解决方案

6)分析调整结果

3、流程:

4、方案要点

测试需求、测试场景、测试预案、方案评审

测试需求:

由业务方或者研发提出性能测试需求,以及相关要求,性能测试人员拿到测试需求后对测试需求进行分析整理、方案制定

测试场景:

单压场景(不能按页面制定压测用例,应该按系统进制定单压用例、http和jsf也应该分开)

混合场景(混合场景应该按http、jsf进行区分测试)

测试预案:只要是线上的压测一定要制定相对应的压测预案,对数据库的写操作一定提前做好数据预估和数据处理工作(做好业务方、DBA等的沟通协调工作)

方案评审:测试方案一定要进行评审、只要涉及到系统必须都要参加

------------------------------------------------------Tanwheey--------------------------------------------------

爱生活,爱工作。

原文地址:https://www.cnblogs.com/Tanwheey/p/11691116.html