zoukankan      html  css  js  c++  java
  • [原创]性能测试基础知识

    [原创]性能测试基础知识

    一 性能测试基本概念
     

    1、响应时间(Response time)
    所谓响应时间就是从点击了一个页面计时开始,到这个页面完全在浏览器里展现计时结束的这一段时间间隔。响应时间可以细分为:
    (1)服务器端响应时间,这个时间指的是服务器完成交易请求执行的时间,不包括客户端到服务器端的反应(请求和耗费在网络上的通信时间),这个服务器端响应时间可以度量服务器的处理能力。
    (2)网络响应时间,这是网络硬件传输交易请求和交易结果所耗费的时间。
    (3)客户端响应时间,这是客户端在构建请求和展现交易结果时所耗费的时间。
    所以客户感受的响应时间其实是等于客户端响应时间+服务器端响应时间+网络响应时间。
    2、吞吐量(Throughput)
    吞吐量是就是系统的处理能力,具体说来,就是指软件系统在每单位时间内能处理多少个事务/请求/单位数据等。吞吐量的大小由负载(如用户的数量)或行为方式来决定。
    3、资源利用率(Resource utilization)
    CPU占用率、内存使用率、磁盘I/O、网络I/O。

    具体可以参见下windows资源管理器中帮助介绍。
    4、点击数(Hits per second)
    点击数是客户端向Web Server发起了多少次http请求计算的。
    5、并发用户数(Concurrent users)
    并发用户数在客户端指一批用户同时执行一个操作反映了软件系统的并发处理能力。

    6、在线用户数

    在某个时间范围同时在线的最大用户数。

    7、系统用户数

    系统额定的用户数,如一个在线办公系统,可能使用人数是100个,则这个就是系统用户数。

    8、性能计数器

    是描述服务器或操作系统性能的一些数据指标,如使用cpu,内存数,进程等。

    9、思考时间(Think Time)

    指用户进行操作时每个请求之间的时间间隔。

    10  TPS/QPS

    每秒系统可以处理交易事务数或每秒系统可以处理查询事务数;

    11  PV

    页面流览量或是点击量,用户访问刷新一次,即为一次;

    12  UV

    在一天内用户客户端访问网站,仅做为一次统计;

    13  std标准差

    STD是标准偏差值(Standard Deviation),主要用来反应样本空间分布情况。各个样本越接近平均值,STD越小,

    在LoadRunner中,STD越小,说明系统测试时的原始数据分布比较集中,基本接近平均值。所以这个值很小时,一定程度上可以表明系统更加稳定。 

    14、 虚拟用户数

     模拟真实业务逻辑步骤的虚拟用户,虚拟用户模拟的操作步骤都被记录在虚拟用户脚本里。Vuser脚本用语描述Vuser在场景中执行的操作。

    二性能测试类型介绍

    性能测试(Performance Testing)
    性能测试是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求。即在特定的运行条件下验证系统的能力状况。例如:我们通常说某网站在一定用户在线时性能很差。

    负载测试(Load Testing)
    在给定的测试环境下,通过在被测系统上不断增加压力,直到性能指标超过预定指标或某种资源使用已经达到饱和状态,目的是了解系统性能容量和处理能力极限。负载测试的主要用途是发现系统性能的拐点,寻找系统能够支持的最大用户、业务等处理能力的约束。

    压力测试(Stress Testing)
    测试系统在一定负载状态下系统能够处理的最大负载力。例如:检查网站在响应时间不超过3秒时,网站的最大负载是多少?


    配置测试(Configuration Testing)
    通过对被测系统的软硬件环境的调整,了解各种不同环境对性能影响的程度,从而找到系统各项资源的最有分配原则。例如:检查系统在Hp360、Hp380下系统性能如何。


    并发测试(Concurrency Testing)
    模拟并发访问,测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题。例如:模拟上千个用户同时登录的过程。


    可靠性测试(Reliability Testing)
    通过给系统加载一定的业务压力的情况下,让应用持续运行一段时间(一般时7*24小时),测试系统在这种条件下是否能够稳定运行。例如:通常微软所说的7*24小时持续运行测试就是。

    可伸缩性测试(Scalability Testing) 
    通过给系统增加服务器或更改相关配置,然后来实施一定比率的增长的压力的情况下,测试系统在这种条件下是否能程线性增长,系统保持运行稳定。例如:腾讯QQ用户数,不断增多,每天登录上线创新高。

    备注:通常这种情况用到负载均衡器和集群技术。


    可恢复性测试(Recoverability Testing)
    通过给系统逐渐增大并发数,直到系统超过最大承受能力,各系统资源处理饱和,然后慢慢减压,检查系统是否可以恢复到正常的状态,并继续提供服务。例如:淘宝网秒杀活动,可能某段时间的交易是平时的几十倍。

    三性能测试常用指标介绍

    1 操作系统有关的指标

    (1) CPU平均利用率
    (2) 内存平均占用率
    (3) 硬盘占用率I/O数量
    (4) 网络时延

    2 数据库有关的指标
    (1) I/Owait、
    (2) Mem平均使用率
    (3) cpu平均使用率
    (4) 在一次I/O操作中所读的最大BLOCKS数
    (5) Log的增长情况
    (6) 数据库的访问速度
    (7) 数据库能支持的最大用户数
    (8) 数据库CACHE命中率
    (9) 不同数据库参数下的性能情况
    (10) 锁的处理
     
    3 软件有关的指标
    (1) 交易的平均响应时间(从接收请求到回复响应的时间)
    (2) 每秒交易数量(单位时间里的执行次数)
    (3) 对中间件功能的调用
    (4) 远程处理延迟


    http://www.cnblogs.com/mayingbao/archive/2006/12/07/585564.html

     
  • 相关阅读:
    lombok-@Accessors注解
    spring boot 当参数传入开头多个0时,报错:JSON parse error: Invalid numeric value: Leading zeroes not allowed
    linux查看历史操作记录并且显示执行时间
    IDEA中mybatis插件自动生成手写sql的xml文件
    CPU核数和load average的关系
    Jenkins--Credentials添加证书从git上拉代码
    解决输入git branch 进入编辑状态,mac下出现END,无法返回
    Git log和git reflog
    SpringCloud入门之常用的配置文件 application.yml和 bootstrap.yml区别
    springboot定时任务
  • 原文地址:https://www.cnblogs.com/mayingbao/p/374364.html
Copyright © 2011-2022 走看看