zoukankan      html  css  js  c++  java
  • 性能测试

    服务器的接口性能测试占比:80%-20%(web渲染、app反应)
    什么是性能测试
    性能测试也是软件测试的一种:它的主要方向是测试系统在一定负荷压力下,系统的响应时间,吞吐量,稳定性,系统的可扩展性等性能指标。
    性能测试目的
    1.基本目的:验证是否达到用户的性能指标;
                发现软件中存在的性能瓶颈并优化
    2.评估系统的能力:测试中得到的负荷和响应时间数据,用于验证所计划的能力;
                      帮助作出决策
    3.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它;
                        修复体系的瓶颈或薄弱的地方
    4.系统调优:重复运行测试,验证调整系统的活动是否得到了预期的结果;
                改进性能,如:长时间的测试执行可导致内存泄漏
    5.验证稳定性:在一定生产负荷下执行测试一定的时间评估系统稳定性和可靠性是否满足要求。
    性能评估汇报:
    xx网,在1000用户同时(并发量)进行以下操作(性能场景):
    1、登录
    2、查询课程
    3、播放视频
    4、评价课程
    消息成功率:100%
    平均响应时间为0.03s(响应时间)
    CPU使用率:80%,内存使用率:90%,网络带宽:50M,磁盘空间:50%(资源使用率)
    评估-->加压-->bug、瓶颈-->分析,调优-->长时间跑(稳定性)
    性能测试关键指标:
    响应时间
    并发用户数
    吞吐量
    系统性能计算器
    思考时间
    概括起来:多(并发量)快(延时、响应时间)好(稳定性)省(资源使用率)
    响应时间:对请求做出响应所需要的时间,是用户感知软件性能的主要指标。
    响应时间包括:
    1.用户客户端呈现时间
    2.请求/响应数据网络传输时间
    3.应用服务器处理时间
    4.数据库系统处理时间
    客户感知的感应时间,是端到端的
    响应时间多少合理?
    对于一个Web系统,普遍接受的响应时间标准为2/5/8秒。
    2秒钟之内响应客户是非常好的
    5秒钟之内响应客户是可以接受的
    8秒钟是客户能接受的响应的上线。
    并发用户数

    系统注册用户量影响到的是磁盘的空间,磁盘空间的满和空对系统的查询来说有很大的影响。

    没有经过初始化的性能环境=没有作用的环境
    网络
    A-B:0.001s
    A-上海 - B-北京 2s
    运维:Linux系统注入网络延时的方法
    数据库:数据库dump,或者插入
    在线用户影响最大的是内存,登录进去有个会话(web-session),会话是保存在内存里
    初始化环境:warm up 热机-,数据磁盘-->内存的过程

    并发用户数计算:
    平均并发用户数的计算:C=nL/T
        C--是平均的并发用户数
        n--是平均每天访问用户数(login session)
        L--是一天内用户从登录到退出的平均时间(login session的平均时间)
        T--是考察时间长度(一天内多长时间有用户使用系统)
    并发用户数峰值计算:
        C^约等于C + 3*根号C
    示例:
    一个OA系统,该系统有3000个用户,平均每天大约有400个用户访问该系统,对一个典型用户来说,一天只在8小时内使用该系统,且从登录到退出该系统的平均时间为4小时
    C=nL/T=400*4/8=200
    C^=200+3*根号C

    如果系统不熟悉,并发用户数咋算?
    并发用户数量的统计的方法目前还没有准确的公式
    不同系统会有不同的并发特点。
    例如OA系统统计并发用户数量的经验公式为:使用系统用户数量*(5%~20%)
    吞吐量
    性能测试:指单位时间内系统处理用户的请求数
    从业务角度看:吞吐量可以用:请求数/秒、页面数/秒、人数/天或处理业务数/小时等单位来衡量
    从网络角度看:吞吐量可以用:字节/秒来衡量
    对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,他能够说明系统的负载能力
    TPS:每秒事务数
    以不同方式表达的吞吐量可以说明不同层次的问题
    以字节数/秒方式:表示数要受网络基础设施、服务器架构、应用服务器制约等方面的瓶颈;
    已请求数/秒方式:主要是受应用服务器和应用代码制约体现出的瓶颈。
    计算
    当没有遇到性能瓶颈的时候,吞吐量与虚拟用户数之间存在一定的联系,可以采用以下公式计算:
    F=VU*R/T
    其中F为吞吐量,VU表示虚拟用户个数,R表示每个虚拟用户发出的请求数,T表示性能测试所用的时间
    示例:
    采用100个并发,每个VU间隔1秒发出一个请求
    吞吐量=100*1/1=100
    性能计数器:是描述服务器或操作系统性能的一些数据指标。
    比如:内存、CPU、磁盘等资源使用率等
    思考时间
    Think Time:从业务角度来看,这个时间指用户进行操作时每个请求之间的时间间隔
    在做性能测试时,为了模拟这样的时间间隔,引入了思考时间这个概念,来更加真实的模拟用户的操作。

  • 相关阅读:
    iaas,paas,saas理解
    July 06th. 2018, Week 27th. Friday
    July 05th. 2018, Week 27th. Thursday
    July 04th. 2018, Week 27th. Wednesday
    July 03rd. 2018, Week 27th. Tuesday
    July 02nd. 2018, Week 27th. Monday
    July 01st. 2018, Week 27th. Sunday
    June 30th. 2018, Week 26th. Saturday
    June 29th. 2018, Week 26th. Friday
    June 28th. 2018, Week 26th. Thursday
  • 原文地址:https://www.cnblogs.com/peiya/p/12669422.html
Copyright © 2011-2022 走看看