zoukankan      html  css  js  c++  java
  • 【测试123】性能测试之压力测试

    https://sq.163yun.com/blog/article/196036888966840320

    线上问题:由于上游某系统数据分布突变,引起下游本系统的一个特定时间性能指标未达线。

    性能需求:

    1.  调整数据分布,重新测量系统在新的压力场景下的吞吐量和关键性能指标,及此特定时间

    2.  需要提高系统的处理能力,使得此时间性能达标,并且对其他性能指标无大幅度影响

    一、性能测试数据准备

    1. 铺底数据准备

    铺底数据有目的: 铺底数据的首要目的是让性能测试环境与线上保持一致,或者说接近线上真实情况。

    铺底数据量多少合适? 这个完全根据产品的规模来预估,比如产品预计半年后注册用户数达到100w,则铺底的时候需要铺底100w用户账号。 如果是已上线产品,根据线上数据库数据量进行预估,可以根据用户规模的比列进行铺底,如线上注册用户数一千万,线下铺底注册用户数100w,则总体数据规模为线上的十分之一左右。实际情况下,这里会略微复杂,比如还要考虑线上数据库集群和测试集群的硬件差异等,需做适当的调整。

    1) 一个是保证待测系统有一定的规模,比如半年或一年后的用户规模。 只做铺底,在压测中不会访问到的数据。

    这部分数据是为了使数据库达到一定的规模,以发现数据库查询、更新等性能瓶颈,如忘记建立索引,查询SQL不合理等问题。

    只为铺底,压测时不会用到的这部分数据,在预设的过程中就比较随意了,不用考虑数据是否合理,也不用考虑业务关联关系,只要符合数据库设计规则,能插入数据库即可。

    ===》 本次测试:维持系统数据库中的历史数据为过去半年的数据量不变。

    2) 另一个是为压测做准备,准备每个要压测的请求需要使用到的数据,这部分数据涉及到具体的业务,对性能测试结果影响比较大,具体说明可参考“参数化数据准备”章节。

    在压测时要用到的数据,比如API要传参过去的数据,或者请求响应数据。这部分数据在铺底的时候就要精细化的设计,包括数据大小,数量,分布等。

    ===》本次测试:为保证系统对输入数据满足预设分布的前提之下,还要满足预设业务逻辑处理输出的分布要求,对相应的数据库静态数据提前设定。

    2. 参数化数据准备

    二、性能测试数据准备方法

    1. 从线上数据库导入真实数据

    2. 根据业务规则构造模拟数据

    https://blog.csdn.net/aoerqileng/article/details/79409426

    学习笔记:

    “预热”步骤:如何实现?预装载数据。

    数据库指标:

    慢sql:

    https://blog.csdn.net/swordgirl2011/article/details/78764754

    JMeter

    http://jmeter.apache.org/download_jmeter.cgi

    https://www.e-learn.cn/content/qita/804856

    LoadRunner

    http://www.51testing.com/zhuanti/LoadRunner.html

    性能测试方法主要包括:性能测试、配置测试、并发测试、负载测试、压力测试、稳定性测试。

    • 性能测试:测试环境和测试目标确定的情况下,测试系统是否达到宣称的能力;
    • 配置测试:系统具有一定的测试基础时,通过修改环境配置,例如服务器参数等,对比之前的测试结果进行优化;
    • 并发测试:模拟多个用户并发使用系统,测试系统是否存在死锁、内存泄漏等问题。
    • 负载测试:逐渐向系统添加压力,观察系统资源消耗情况,知道某一项资源达到极限。一般用于度量系统的性能容量,寻找系统瓶颈为系统调优提供数据;
    • 压力测试:系统承受一定的压力的情况下,测试系统是否会出现错误。系统压力包括CPU、内存、磁盘、网络等方面的压力,施加压力的方法包括利用工具占用系统资源、增加并发量等;
    • 稳定性测试:系统承受一定压力的情况下,运行一段时间,测试系统是否平稳运行;
    作者:糯米藕
    链接:https://www.jianshu.com/p/1b2874243eca
    来源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
  • 相关阅读:
    .Net使用分布式缓存 C# 使用Redis
    微信申请退款API~~开发
    微信支付和支付宝支付分账接口文档
    Android xUtils3.0使用手册(一)- 基础功能使用
    支付宝支付开发——当面付条码支付和扫码支付
    vue开源项目汇总
    Azure和插件发布
    SqlServer数据库优化笔记
    企业微信通过PostMan获取accesstoken与管理员信息方法
    VisualStudio插件自动加载
  • 原文地址:https://www.cnblogs.com/cathygx/p/10739495.html
Copyright © 2011-2022 走看看