性能测试


性能测试步骤

测试前期准备

  着手准备测试相关的工作,包括测试环境和测试工具准备,测试案例和场景的准备,测试数据的准备,脚本录制,性能监控的验证等。

性能测试工具

常用  Jmater(Java)

    locust(Python)

性能计划

  人力

  具体工作

  开始时间

  使用技术

测试设计与开启

  工具/代码编写

  具体的脚本

测试执行与管理数据收集

  根据容量执行

  根据数据库资源——IOPS

  Liunx

      CPU

      memory

  nginx

      连续数

  本身

对测试进行分析

性能测试方法

  验收负载测试

    QA环境模拟生产运行的业务压力和使用场景组合,测试系统性能是否满足生产环境的性能诉求

  负载测试
    在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量

  压力测试

    该方法是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut,OOM,OverStackExpection(堆栈异常)。特点:
    检查系统在处于压力情况下时应用的性能表现

    等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

  配置测试

    被测环境软硬件环境参数的调整,达到最优的分配原则

  并发测试

    模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或者其他的问题,特点是:

    发现系统中可能隐藏的并发访问的问题
    关注系统可能存在的并发问题,如内存泄露,线程锁,资源争用情况
    使用的测试工具如profiler等

  可靠性测试
    给系统加载一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行

  故障演练

    故障演练是应用高可用能力测评的核心,一次完整的故障演练由演练的对象、对象发生的具体故障、应用的预期故障应对表现、对应用表现的实际观察和判断几部分组成

  容灾恢复测试

    当各种灾难发生时,在保证生产系统的数据尽量少丢失的情况下,保持生产系统的业务不间断的运行。任何针对可能发生的灾难,提高系统可靠性和可用性的措施都可以称为容灾

JMeter 执?原理
  JMerer 通过线程组来驱动多个(也可以理解为LR?具??的虚拟?户)运?测试脚本对?标服务器发起?量的?络请求,在每个客户端上可以运?多个线程组,也就是说?个测试计划??可以包含N个线程组。

  线程属性(线程数)

    ?个线程可以理解为对应模拟?个?户,所以线程数越多,那么也就认为可以模拟的?户数越多

  调度器
    设置何时开始运?
  持续时间
    测试计划持续多?时间
  启动延迟
    延迟多?时间开始运?测试,也就是说点击执?后,仅做初始化不会执?测试,等待延迟到达后开始运?测试,执?的时间为持续时间设置的时间

聚合报告

响应时间图