性能测试基础

一、性能测试本质

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

  关注点:  时间性能和空间性能(磁盘消耗,内存,cpu)

 二、性能测试流程

  

  1、需求分析

    • 明确到底要不要做性能测试
    • 明确被测系统的特点、基本业务、关键业务、用户行为
    • 明确性能测试范围
    • 明确性能测试目标及性能指标
    • 明确性能测试策略

  2、测试计划

    • 明确性能测试团队人员职责
    • 明确测试时间
    • 明确测试环境和测试工具
    • 测试场景设计

  3、设计环节

    • 测试环境准备
    • 测试用例设计
    • 测试脚本开发和调试
    • 测试数据准备

  4、测试执行

  5、结果分析及调优

    • 指标对比
    • 在服务器资源监控分析
    • 调优方向

  6、报告与总结

   

 

 

 

 

 

 

 

三、性能测试分类

  1、性能测试(狭义)

    性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足性能要求。

    特点:

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

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

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

 

 

   2、负载测试

    通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或都某种资源已经达到饱和状态。

    特点:

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

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

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

 

  3、压力测试

    压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误 

    特点:

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

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

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

 

  4、并发测试

    并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题

    特点:

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

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

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

 

  5、配置测试

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

    特点:

       1)、这种性能测试方法的主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作

       2)、这种性能测试方法一般在对系统性能状况有初步了解后进行

       3)、这种性能测试方法一般用于性能调优和规划能力

 

  6、可靠性测试

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

    特点:

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

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

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

 

 

四、性能测试指标

  1、响应时间

  2、tps(单位时间处理的事务数)

    1)hps:请求

    2)吞吐量:描述服务器的处理能力

  3、资源利用率

    在一定的负载情况下,服务器资源占用情况

    cpu利用率:不允许超过70%-80%          队列长度

    Mem:80%以下         页交换频率

    宽带利用率

  4、用户数


 

posted @ 2019-06-25 15:30  jiahuifeng  阅读(151)  评论(0编辑  收藏  举报