性能测试基础知识

一、性能测试本质

  基于协议模拟用户发出请求(业务的模拟),对服务器形成一定负载,来测试服务器的性能指标是否满足要求

二、性能测试相关术语

  1、响应时间(RT)

    说明:是用户提交一个请求,系统从开始呈现到将所有信息都呈现到客户端所需要用的时间

    2 5 8原则:

      <2秒:响应速度很快  

      2-5秒:感觉系统的响应速度还可以

      5-8秒:表示系统响应速度很慢,但还可以接受

      >8秒:响应速度太慢

  2、并发

    指同一时刻与服务器进行数据交互的用户数量

  3、吞吐量(Throughput)

    一段时间内系统处理请求的数据量(单位MB/GB等),直接体现系统的承载能力

  4、吞吐率

    单位时间内系统处理请求的数据量,即吞吐量/传输时间,相当于平均速率,它是衡量网络性能的重要指标,吞吐量越大,吞吐率也越大,表示负载能力越好

    正常情况下,该项指标一开始会随着用户的增加,而逐渐增加,但当用户达到一定程度的时候,该值又会逐渐变小。这是因为,用户的越多,发出的请求越多,因为应用程序处理的请求数也会越多,该值就会越大;但当请求用户达到一定数量的时候,已经超负载的时候,虽然用户发出的请求多,但是应用程序已经处理不过来了,甚至处理能力开始下降,因为该值(吞吐率)会越来越小(较前段时间)。

  5、TPS(Transaction per second)

    系统每秒处理的交易或事务数量个数,它是衡量系统处理能力的重要指标,在loadrunner中一定要分析的一个指标

  6、点击率(HPS:Hits per Second)

    每秒钟用户向服务器提交的HTTP请求的数量

  7、资源利用率

    描述服务器或操作系统性能的一些性能指标,主要通过添加计数器来观察系统资源的使用情况

    常见的资源:CPU占用率(不允许超过70-80%),内存使用率(80%以下),带宽()磁盘I/O,网络I/O

  8、思考时间

    也称休眠时间,从业务层面来讲,这个时间是指用户在进行操作时,每个请求之间的间隔时间

三、性能测试分类

  1、性能测试(狭义)

    性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。通俗地说,这种方法就是要在特定的运行条件下验证系统的能力状态。

    特点:

      (1)这种方法的主要目的是验证系统是否有系统宣称具有的能力。

      (2)这种方法要事先了解被测试系统经典场景,并具有确定的性能目标。

      (3)这种方法要求在已经确定的环境下运行

  2、负载测试

    通过在被测系统上不断加压,直到性能指标达到极限,也就是说,这种方法是对一个系统持续不段的加压,看你在什么时候已经超出我的要求或系统崩溃,例如响应时间超过预定指标或都某种资源已经达到饱和状态

    特点:

      (1)这种性能测试方法的主要目的是找到系统处理能力的极限。

      (2)这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测试系统的业务压力量和典型场景、使得测试结果具有业务上的意义。

      (3)这种性能测试方法一般用来了解系统的性能容量,或是配合性能调优来使用

  3、压力测试(强度测试)

    压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。也就是说,这种测试是让系统处在很大强度的压力之下,看系统是否稳定,哪里会出问题。 

    特点:

      (1)这种性能测试方法的主要目的是检查系统处于压力性能下时,应用的表现。

      (2)这种性能测试一般通过模拟负载等方法,使得系统的资源使用达到较高的水平。

      (3)这种性能测试方法一般用于测试系统的稳定性。

  4、并发测试

    并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。也就是说,这种测试关注点是多个用户同时(并发)对一个模块或操作进行加压 

    特点:

      (1)这种性能测试方法的主要目的是发现系统中可能隐藏的并发访问时的问题。

      (2)这种性能测试方法主要关注系统可能存在的并发问题,例如系统中的内存泄漏、线程锁和资源争用方面的问题。

      (3)这种性能测试方法可以在开发的各个阶段使用需要相关的测试工具的配合和支持

  5、配置测试

    配置测试方法通过对被测系统的软硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。 

    特点:

      (1)这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。
      (2)这种性能测试方法一般在对系统性能状况有初步了解后进行。
      (3)这种性能测试方法一般用于性能调优和规划能力。

  6、可靠性测试

    在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。也就是说,这种测试的关注点是稳定,不需要给系统太大的压力,只要系统能够长期处于一个稳定的状态。

    特点:

      (1)这种性能测试方法的主要目的是验证是否支持长期稳定的运行。

      (2)这种性能测试方法需要在压力下持续一段时间的运行。(2-3天)

      (3)测试过程中需要关注系统的运行状况。

 

   

原文地址:https://www.cnblogs.com/xwxxh/p/14338240.html