您的位置:首页 > 其它

性能测试的一些概念

2017-04-07 17:06 155 查看
相信很多人在做性能测试的时候跟我一样,不知道为什么对系统做性能测试呢,系统测试相关指标有哪些,今天我就整理了一篇文章,仅供参考!!!

1、什么是性能测试?

性能测试就是通过自动化测试工具,模拟多种正常峰值及异常负载条件下,查看系统各项性能指标变化的测试。

2、性能测试的目的

验证软件能否满足用户提出的性能指标需求,同事发现软件系统中存在的性能瓶颈,用来优化软件,优化系统
包括:
评估系统的能力。根据测试中的负荷和响应时间评估。
识别瓶颈。通过增加负荷到一个极端,可以识别瓶颈,修复系统中的瓶颈和薄弱。
系统调优。重复运行系统,验证调整后的指标是否达到预期要求,从而改进性能。
验证系统的稳定性、可靠性。在一定的负荷下测试系统运行一定的时间。
检测软件中的问题。长时间的测试执行会导致内存泄露,可以发现程序中隐含的问题和漏洞。

3、分类

负载测试

通过系统在超负荷的情况下,检验系统设计上的错误或是验证系统的负载能力

就是确定并确保系统超出最大预期工作量的情况下能正常运行。

举个例子:一个人能背5个沙袋正常跑步,测试他背10个沙袋还能正常跑。

负载测试评估系统的性能特征:最大响应时间,事务处理速率等其他与时间相关 的指标。


压力测试

就是对系统不断地施加压力,确定系统的瓶颈或是不能承受的点,来获得系统能

提供最大级别的服务。

容量测试 确定系统可处理的同时在线的最大用户数

强度测试为了检查程序对异常情况的抵抗能力,强度测试总是迫使系统在异常的资源配置下运行。

(系统测试稳定性和系统未来的扩展空间)。

大数据测试:两种。1)针对某些系统存储、传输、统计查询等业务进行大数据量的测试;

2)与并发测试相结合的极限状态下的综合数据测试。

配置测试:通过测试找到系统各项资源的最优分配原则。

可靠性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。

4、性能测试常见指标概念

QPS:每秒查询次数。比如执行了select操作,相应的qps会增加。

例如:

应用A,每个select查询需要1ms, 一个connection的话,一直不停的执行,1S内 可执

行1000次,也就是1000qps。

应用B,每个select查询需要100ms, 一个connection的话,一直不停的执行,1S内

可执行10次,也就是10qps。
上面不同系统的两个qps是无法对比的。

事务:就是『从用户发送请求 ---> Web服务接收请求 ---> 跟DB交互等... ---> 最后返回数据给用户
』的一个过程。


请求响应时间『请求从客户端发起服务器接受,Server处理完请求并响应结束这个过程所耗费的时间,通常叫做“TTLB”(Time
to last byte)』



从宏观角度来看 响应时间 = 网络响应时间 + 程序响应时间

事务响应时间:直接衡量系统性能的参数。



例如:跨行取款事务的响应时间就是由一系列的请求组成的。

响应时间的3/5/10原则

在3秒钟之内,页面给予用户响应并有所显示,可认为是“很不错的”;

在3~5秒钟内,页面给予用户响应并有所显示,可认为是“好的”;

在5~10秒钟内,页面给予用户响应并有所显示,可认为是“勉强接受的”;

超过10秒就让人有点不耐烦了,用户很可能不会继续等待下去;

我们在互联网企业内对web页面的响应时间要求在1500ms 内,而HTTP的服务响应

时间要求在100ms内。

并发用户数

2种:

严格意义:所有用户在同一时刻做相同的操作或事情。一般是同一类型的业务。

广义:多个用户对系统发出了请求或者进行了操作,但是这些请求或者操作可以是相同的,也可以是不同的。但是对整个系统而言,仍然是有很多用户同时对系统进行操作

WEB性能测试而言,这2种并发情况一般都需要进行测试。

严义的并发用户数一般发生在使用比较频繁使用的模块中,尽管发生的概率不是

很大,但是一旦发生就是致命的。这种并发测试往往和功能测试关联起来,因为并发

功能遇到异常通常都是程序问题,这种测试也是健壮性 和稳定性测试的一部分。

有2种常见的错误观点。

第一种错误观点是把并发用户数量理解为使用系统的全部用户的数量,理由是这些用户可能同时使用系统;

第二种错误比较接近正确的观点是把在线用户数量理解为并发用户数量。实际上在线用户也不一定会和其他用户发生并发,例如正在浏览网页的用户,对服务器没有任何影响,但是,在线用户数量是计算并发用户数量的主要依据之一。

并发连接数某个时刻服务器所接受的请求数目,简单的讲,就是一个会话。

吞吐量在『一次性能测试过程』中网络上传输的数据量的总和。

计算公式:吞吐量/传输时间 = 吞吐率(RPS) Requests
per second


指的是某个并发用户数单位时间内 处理的 总请求数

它是衡量网络性能的重要指标。

服务器 并发处理能力的 量化描述,单位是 reqs/s『请求数/秒』。

某个并发用户数下单位时间内能处理最大请求数,称之为最大吞吐率

TPS(Transactions
per second)
每秒钟系统处理交易或者事务的数量,它是 衡量系统处理能力 的重要指标。取决于处理能力最低模块的TPS值。

点击率每秒钟用户向WEB服务器提交的HTTP请求数。

点击率可以看做是TPS的一种特定情况。点击率更能体现用户端对服务器的压力。TPS更能体现

服务器对客户请求的处理能力。

WEB应用是"请求-响应"模式,用户发出一次请求,服务器就要处理一次,所以点击

WEB应用能够处理的交易的最小单位。点击率越大,对服务器的压力越大。

点击率只是一个性能参考指标,重要的是分析点击时产生的影响。

需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客

户端可能向服务器发出多个HTTP请求。

请求等待时间:

用户平均请求等待时间(Time per request)

计算公式:处理完成所有请求数所花费的时间= 总请求数 / 并发用户数

服务器平均请求等待时间(Time per request: across all concurrent requests)

计算公式:服务器平均请求等待时间=处理完成所有请求数所花费的时间 /
总请求数。

用户平均请求等待时间它是吞吐率的倒数
压力测试的指标









内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息