zoukankan      html  css  js  c++  java
  • 一、性能测试定义/前提/指标

    一、广义的性能测试

    1、软件性能测试

    性能测试:用一定的技术,使用的工具(LR、jmeter),找出或验证某些性能指标的测试 -----模拟N多个usert同时在使用软件,软件的性能。手工是无法实现的,只 能通过工具。

    找出:在项目、接口从来没有做过性能测试时,要获取性能指标作为基准值

    验证:在项目、接口之前的性能测试指标的基础上,进行对比,查看性能是优化了还是变得更差了

    软件性能测试:指的是通过接口,向服务器发送请求,测服务器的性能情况。

    性能测试什么时候介入? 完成功能测试以后。 

    功能/自动化测试目的:找出bug

    性能测试目的:

    • 找出性能的指标值(最大并发用户数、RT、TPS、资源利用率······)

    • 验证性能有没有优化 

    2.负载测试

    逐步增加用户并发数,发起请求,找到系统的拐点区间。

    关键字:逐步加压 (没有时间要求)

    举例:系统做并发测试,60并发,ok;70并发,ok;90并发,ok;100并发的时候,系统出现异常。   那系统的拐点区间就是90-100之间。可以一个一个用户阶梯形式增加用户数,找到拐点,就是最大并发数。

    注意:增加用户并发数,在jmeter里面就是增加线程数 来增加压力,向服务器发起请求,找出服务器各项性能指标,找到性能指标的瓶颈范围(负载测试只能找出一个范围)

    3.压力测试

    通过一定的并发用户数,持续比较长的时间请求,查看服务器的稳定性。

    关键字:比较大的压力+持续长的时间(X*24)

    注意:压力测试主要是测试系统的稳定性,刚开始做压力测试,可以选取最大并发数的40%以下的并发数,运行24小时;稳定的话,可以选择最大并发数的40-50%,作为并发数,运行较长时间;验证系统的稳定性。 

    4.测试步骤

    性能测试:找出或者验证某个值,对应的性能指标值

    负载测试:找的是并发用户数的区间范围

    压力测试:不是找指标,是找稳定性

    测试步骤:先负载测试,找出最大并发数,再进行性能,再进行压力测试。

    压测:负载测试(得出并发区间)+性能测试(得出性能指标),最后得出性能测试报告。

    性能测试:负载测试+性能测试  --->测试报告

    负载测试:负载测试+性能测试  -->测试报告

    生产环境,服务器不稳定,宕机时有发生,做压力测试是指:负载测试+性能测试+压力测试--->测试报告

    企业中真正的性能测试分三个阶段:负载测试---性能测试---(不稳定再做)压力测试 

    二、性能测试的前提

    1.性能测试的必要性研究--关键项评估

    • 有监管部门审查

    • 涉及生命财产安全

    • 大型系统

    • 核心系统业务

    • 架构调整

    • 业务剧增

    • 重大缺陷修复

    2.可测性---可以量化为性能指标值

    3.性能测试的基本原则

    • ①首先 单接口 再多接口

    • ②然后,多接口构成业务/模块

    • ③然后,多业务混合

    • ④然后,再系统

    • ⑤然后,全链路

    三、性能测试的指标

    1.并发/并发数/并发用户数

    1)并发 :同时向服务器发起请求

    • 狭义:同一时间做相同的事情

    • 广义:同一时间做不同的事情,混合场景

    2)并发数:单位时间内向服务器发起请求的用户数 Virtual user

    3)并发用户数:用于模拟真实用户向服务器发起请求的性能测试虚拟用户数

    • 系统用户数:只要访问过系统的用户,可能含一次性访问的用户

    • 在线用户数:当前正访问系统的用户,不一定有压力

    注意:性能测试 一定是多用户并发(单用户,反复请求,都不算性能测试),多并发可以是统一请求,也可以不同请求。

    2.响应时间

    从发起请求到收到请求的响应时间(网络传输时间+服务器处理时间),反应服务器的处理能力

    3.吞吐量: 事务/s     吞吐率:KB/s  

    吞吐量、吞吐率是衡量网络的重要指标

    • 吞吐量-->事物数

    • 吞吐率-->数据量 

    4.TPS 

    TPS(Transaction per second) :表示服务器每秒处理的事务数  ***最主要的性能指标---》服务器的一个综合能力的体现 

    扩展:一个事务:可以是一个接口,也可以是多个接口完成某一个功能/业务,叫做一个事务。 

    5.资源利用率---靠监控

    • cpu    一般不超过80%~85%

    • 内存   一般不超过80%~85%

    • 磁盘   读写

    • I/O    网络的I/O

     
  • 相关阅读:
    【python】构造字典类型字典
    【python】序列化和反序列化
    【python】进程
    【python】类中属性方法@property使用
    【python】类中__slots__使用
    【python】类的继承和super关键字
    【python】类的访问限制
    【python】模块作用域
    【python】删除1~100的素数
    【python】函数相关知识
  • 原文地址:https://www.cnblogs.com/zhangjx2457/p/13864213.html
Copyright © 2011-2022 走看看