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

    一、性能测试中的常见指标及其含义

    1、并发用户数

    并发用户的含义分为狭义和广义两种。

    狭义上的,或者说严格意义上的并发用户,指的是同一时刻做同一件事件的用户,如操作同一记录或不同记录。

    广义上的,则是指在同一时间内,对系统发出请求或操作,可以是相同的请求或操作,也可以是不同的。

    狭义的并发用户,主要用于针对核心模块或核心算法的测试中,与功能相关,是健壮性和稳定性测试的一部分,需要在广义的并发测试前进行。

    而并发用户数,就是同一时刻与服务器进行交互的在线用户数量。

    2、请求响应时间

    请求响应时间,是指客户端发出请求到得到响应的整个过程的时间,包括了网络响应时间、应用与系统的响应时间。

    4、事务响应时间

    事务,是有一系列请求组成的,其响应时间针对用户而言,属于宏观的业务上的概念。顾名思义,事务响应时间,则是用户完成一个对于用户来说具有原子性价值的业务操作的时间,包含了一个或多个请求。

    5、吞吐量

    一次性能测试过程中,网络上传输的数据流量的总和。

    6、吞吐率

    单位时间内的吞吐量,常用单位有字节数/秒、请求数/秒、页面数/秒。

    7、TPS

    每秒能够处理的交易或事物的数量。

    8、点击率

    点击率,指的是每秒用户向服务器提交的http请求的数量,是web应用特有的。注意,鼠标在页面的单击数不一定等于点击数!一次单击,可能会发起多个请求,引起多个点击。

    9、资源利用率

    不同资源的使用程度,是分析与改善系统性能的主要依据。我们只有在充分了解了JVM、操作系统、数据库、网络等各方面的基础原理,才能做出有效的分析。

    思考:

    并发用户数,是否与force-bot上的虚拟用户数有区别?

    二、性能测试的种类

    1、压力测试

    对系统不断施加压力,通过确定一个系统的瓶颈或者不能接收用户请求的性能点,来获得系统能提供的最大服务级别。

    2、负载测试

    在被测系统上不断增加压力,知道性能指标达到极限。

    3、强度测试

    为了测试系统在异常情况下的处理能力。

    4、并发测试

    测试多用户同时访问同一系统、同一模块、同一业务功能、同一数据记录时,是否存在功能或性能问题。

    5、大数据量测试

    大数据量分为两种情况,一种是运行时大数据量测试,例如较长数据的请求处理;一种是历史大数据量测试,例如在海量存量数据的情况下,对系统进行读写操作。

    6、配置测试

    通过测试,找到系统各项资源的最优分配原则,用于性能调优。

    7、可靠性测试

    一定压力下,长时间运行,确定系统是否稳定可靠。

    8、狭义性能测试

    即我们常规的性能测试,模拟生产运行时的使用场景和业务压力,评估系统的性能是否满足生产性能要求。通常施加的压力,会稍稍超出正常压力,以便系统对于一些峰值情况能留有余地。

    思考:

    以上各种测试,只是概念上的区分,在实际执行中并没有明显的界限区分,我们应当理解各类测试的目的,对比条件、目的和手段,厘清内部联系,在实际项目中有机组合,高效执行。

    三、粗谈性能调整

    1、目的

    性能调整的目的,是为了改变系统的性能特性。

    性能调整,而不是叫做性能调优,是因为所做的调整,并不一定使得系统获得整体的性能提升,有可能存在拆东墙、补西墙的情况。

    2、步骤

    性能调整包括以下几个步骤:

    1)确定问题

    2)确定原因

    3)确定调整目标

    4)确定解决方案

    确定解决方案时,应考虑是整体性能得到改善,还是牺牲了其他部分性能。如果牺牲了其他部分性能,需要回过头去修正调整目标,同时劣化的那部分性能指标,也需要在后继的测试中进行验证。

    5)测试解决方案

    6)分析调整结果

    3、流程:

    4、方案要点

    测试需求、测试场景、测试预案、方案评审

    测试需求:

    由业务方或者研发提出性能测试需求,以及相关要求,性能测试人员拿到测试需求后对测试需求进行分析整理、方案制定

    测试场景:

    单压场景(不能按页面制定压测用例,应该按系统进制定单压用例、http和jsf也应该分开)

    混合场景(混合场景应该按http、jsf进行区分测试)

    测试预案:只要是线上的压测一定要制定相对应的压测预案,对数据库的写操作一定提前做好数据预估和数据处理工作(做好业务方、DBA等的沟通协调工作)

    方案评审:测试方案一定要进行评审、只要涉及到系统必须都要参加

    ------------------------------------------------------Tanwheey--------------------------------------------------

    爱生活,爱工作。

  • 相关阅读:
    使用 HttpClient 调用第三方接口
    Servlet 的生命周期及工作原理
    SpringBoot 框架简介及搭建
    使用 SimpleDateFormat 获取上个月的日期
    LoadRunner常见问题(一)
    Web_reg_find()函数的使用
    IEtester调试IE6,IE7,IE8,IE9的CSS兼容性的免费工具
    web_find()函数检查中文字符串失败的处理方法
    lr_shoami()的用法
    IP欺骗经验总结
  • 原文地址:https://www.cnblogs.com/Tanwheey/p/11691116.html
Copyright © 2011-2022 走看看