美文网首页
性能测试基础

性能测试基础

作者: 陌椰_5702 | 来源:发表于2018-05-20 10:26 被阅读0次

    一.性能测试概况

    性能测试是一个总称,具体可细分为性能测试、负载测试、压力测试、稳定性测试

    性能测试:

    以系统设计初期规划的性能指标为预期目标、对系统不断施加压力、验证系统在资源可接受的范围内、是否达到性能预期。

    负载测试:

    对系统不断的请求以增加系统压力,直到系统的某项或多项性能指标达到安全临界值。

    压力测试:

    在超过安全负载的情况下,对系统继续施加压力,直到系统崩溃或不能再处理任何请求,以此获得系统最大压力承受能力。

    稳定性测试:

    被测系统在特定硬件、软件、网络环境下,给系统加载一定业务压力,使系统运行一段较长时间,以检测系统是否稳定。

    二.性能的资源指标

    对互联网服务进行服务端性能测试时,主要关注两方面的性能指标:

    1.业务指标

    比如吞吐量(QPS、TPS),响应时间(RT)、并发数、业务成功率等。

    2.资源指标,如CPU、内存、Diski/o、network i/o等资源的消耗情况。

    2.1 CPU使用率

    有进程处于running状态的时间/总时间,在vmstat主要通过us、sys和id三列数据来体现:

    us:用户占用cpu的百分比

    sy:系统(内核和中断)占用cpu的百分比

    id:cpu空闲的百分比

    性能测试指标中,cpu使用率通常用us+sy来计算,其可接受上限通常在70%-80%。另外,需要注意的是,在测试过程中,如果sy的值长期大于25%,应该关注in(系统中断)和cs(上下文切换)的数值,并根据被测应用的实现逻辑来分析是否合理。

    2.2 运行队列进程数

    running状态+waiting状态的进程数,展示了正在运行和等待cpu资源的任务数,可以看作cpu的工作清单,是判断cpu资源是否成为瓶颈的重要依据,在vmstat主要通过r的值来体现。(r,可运行进程数,如果r的值等于系统cpu总核数,则说明cpu已经满负荷,在负载测试中,其可接受上限通常不超过cpu核数的2倍)

    2.3 上下文切换

    context是指cpu寄存器和程序计数器在某时间点的内容,进程上下文切换即kernel挂起一个进程并将该进程此时的状态存储到内存,然后从内存中恢复下一个要执行的进程原来的状态道寄存器,从其上次暂停的执行代码开始继续执行至频繁的上下文切换将导致sy值增长,在vmstat通过cs的值来体现。(cs,每秒上下文切换次数)

    2.4 平均负载Load Average

    在unix系统中,load是对系统工作量的度量。load取值有两种情况,多数unix系统取运行队列的值(vmstat输出的r),而linux系统取运行队列的值+处于task_uninterruptible状态的进程数(vmstat输出的b),所以会出现cpu使用率不高但load值很高的情况。Load average就是一段时间内的平均负载,系统工具top、uptime等提供1分钟、5分钟、15分钟的的平均负载值。比如下图中0.28即是1分钟内的load

    average,当我们需要了解当前系统负载情况时,可以先查看load average的值,如果系统持续处于高负载(如15分钟平均负载大于cpu总核数的两倍),则查看vmstat的r值和b值来确认是cpu负荷重还是等待I/O的进程太多。

     三.性能分析

    排查一个网站的性能瓶颈和排查一个程序的性能瓶颈手法基本相同,检查请求处理的各个环节的日志、分析哪个环节响应时间不合理、超过预期;然后检查监控数据,分析影响性能的主要因素是内存、磁盘、网络还是cpu,是代码问题还是架构设计不合理、或者系统资源确实不足

    四.性能方案制定

    性能测试是基于功能测试来进行的,先分析单个用户的功能流程以及系统的数据流向(包括后台的数据流向)结构图,然后再考虑大量的用户操作。步骤如下:

    1)确认测试目标

    2)分析被测系统业务需求

    3)分析被测系统的系统结构

    4)分析被测系统的性能测试点(可能产生性能瓶颈的节点/是否有外部不可压系统/是否需要开发配合改动)

    5)设计测试方案、检测方案和测试案例

    6)选择测试工具

    7)测试开发

    8)测试执行

    9)测试结果分析

    10)测试调优测试验证测试分析

    11)测试报告

    相关文章

      网友评论

          本文标题:性能测试基础

          本文链接:https://www.haomeiwen.com/subject/ftizdftx.html