性能测试基础认知

 一、什么是性能测试

1.系统性能:一个软件或硬件系统做完后,用户需求说明的功能已经准确无误地实现了,但是做得怎么样还有待验证,就可以简单地理解为系统的性能。比如:(性能需求)邮件系统能够在单核CPU,512M 内存的服务器上,支持1000用户同时注册,日均处理20000封邮件,响应时间不超过5秒/封。

2.系统性能测试:是指在软件、硬件及网络条件下,通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试,从而发现系统的性能瓶颈。也就是通过各种测试策略,模拟真实的用户使用场景,验证系统能做得怎么样

3.性能测试相关术语:响应时间、并发用户数、事务响应时间、吞吐量-TPS(每秒事务响应数)、性能计数器等。

①并发用户:

       一般分为2种情况:  一种是绝对并发,即所有的用户在同一时刻做同一件事情或者操作,比如:完成提交操作,用户在同一时刻对编辑完的业务提交;另外一种是相对并发与前一种并发的区别是:尽管多个用户对系统发出了请求操作,这些请求可以是相同的,也可以是不同的。对整个系统而言,仍然是有很多用户同时对系统进行操作。这2种并发一般都需要测试,通常做法是先进行绝对并发测试。

②点击率:

        单位时间用户向WEB服务器提交HTTP请求数。这个指标是WEB应用特有的一个指标:WEB应用是“请求-响应”模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位。容易看出,点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。这里的点击并非指鼠标的一次单击操作,因为一次单击操,客户端可能向服务器发出多个HTTP请求

③事务响应时间:

       从客户端发起请求,到客户端接收到从服务器端返回的响应结束,这个过程所耗费的时间,响应时间单位一般为“秒”或者“毫秒”。 标准可参考业界的3/5/10原则:

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

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

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

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

④吞吐量:

       吞吐量是我们常见的一个软件性能指标,对于软件系统来说,“吞”进去的是请求,“吐”出来的是结果,具体说,就是指软件系统在每单位时间内能处理多少个事务/请求等。但它的定义比较灵活,在不同的场景下有不同的诠释,比如,下载文件比浏览网页需要更高的网络吞吐量。

⑤集合点:

       进行负载测试时,需要模拟系统上有较重的用户负载。要实现此操作,可以同步多个 Vuser 在同一时刻执行同一任务。通过创建集合点,可以配置多个 Vuser 同时执行操作。当某个 Vuser 到达该集合点时,将进行等待,直到参与该集合的全部 Vuser 都到达。指定数量的 Vuser 均到达后,释放所有这些 Vuser。

⑥90%的事务响应时间:

       是指在一次完整的测试过程中,所有事务的请求时间,按从小到大顺序排序,90%的事物所消耗的时间范围。在评估一次测试的结果时,仅仅有平均事务响应时间是不够的。假如有一次测试,总共有100个请求被响应,其中最小响应时间为0.02秒,最大响应时间为110秒,平均事务响应时间为4.7秒,最小和最大响应时间如此大的偏差会导致平均值本身并不可信。由此可以看出,平均事务响应时间满足了性能需求,并不能表示系统的性能已经满足了绝大多数用户的要求。所以,在评估性能测试结果时,除了要考虑事务的平均响应时间,还要考虑90%的事务响应时间。

⑦资源利用率:

       资源利用率指的是对不同系统资源的使用程度,例如服务器的CPU(s),内存,网络带宽等。资源利用率通常以占用最大值的百分比n%来衡量。

4.性能测试方法:负载测试、压力测试、并发测试、可靠性测试等。

①负载测试:

        在一定的软件、硬件及网络条件下,通过运行一种或多种不同虚拟用户数量情况下,测试系统的性能指标是否在用户的要求范围内,用于确定系统所能承受的最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。负载测试强调的是在一定的环境下系统能够达到的峰值指标,大多数的性能测试都是负载测试。这种方法的目的是找到系统处理能力的极限,通过模拟不同数量级的用户,找到如“响应时间不超过10秒”,“服务器平均CPU利用率低于65%”时的用户数。

②压力测试:

       在一定的软件、硬件及网络条件下,通过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。           与负载测试获得峰值性能数据不同,压力测试强调在极端情况下系统的稳定性。压力测试方法测试目标系统在一定饱和状态下,例如CPU、内存等在饱和状态下,系统还能否稳定地提供服务。比如:在100个用户使用系统的时候,CPU使用率达到了性能测试通过指标的最大值,比如80%,那么,101个用户就是压力值。

③绝对并发:

       通过模拟多个用户并发访问某个功能,同一个存储过程,测试程序是否支持多用户访问,是否存在死锁,线程同步的问题。

④疲劳测试:

       疲劳测试,有些公司也叫可靠性测试,是软件系统长时间(8小时,7*24小时)运行系统,检查系统是否能稳定运行,有没有内存泄漏等。

5.性能测试指标(一般情况下)

1、事务成功率

2、事务平均响应时间和90%的事务响应时间

3、吞吐量(TPS)

4、CPU,内存,IO使用率

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值