zoukankan      html  css  js  c++  java
  • 性能测试通过几种方式造数据

    在执行负载压力测试前,一般需要准备三类数据:初始化数据、铺底数据(历史数据)和参数化数据。

    本文说的数据量主要包括基础数据量(或者叫历史数据量、垫底数据量、数据库中已有的数据量)和参数化数据量,数据量在性能测试中起到非常重要的作用。对于在数据库中只有几条记录和有几亿条记录里面查询信息,那么结果肯定相差非常大的,随着业务量的增长,记录也越来越多,因此在性能测试过程中,需要保持跟生产上相同级别的数据量。生产系统中业务中使用不同的数据、那么我们在测试的时候需要考虑参数数据量的大小和数据分布的问题。

    如果基础数据量跟生产环境的基础数据量不在同一个数量级上,将会导致相关指标例如响应时间比生产上快很多,不真实,甚至导致测试结果没有参考意义。如果参数化数据量过少、未考虑数据分布的情况,将会导致测试结果不真实,甚至测试结果没有参考意义。

    基础数据量:

    测试环境基础数据量需要跟生产环境基础数据量保持在同一个数据量级上,一般情况下需要考虑未来三年数据量增长趋势,如果增长过快需要在测试环境造非常多的数据。

    参数化数据量:

    1)参数化数据量尽可能的多,必要的情况下,可以清除缓存或者用写代码的方式提供参数化。

    2)参数化数据分布,如果业务有明显的地域等分布的特征,需要考虑数据分布的情况。

    数据量预置的方法:

    1)从生产库导数据---最优方案

    2)存储过程生产数据,也可以写脚本---建议登录用户数据使用存储过程生产

    3)loadrunner或jmeter生产---过程业务数据建议使用工具生产,数据比较真实

    4)DataFactory 数据工厂生产数据------上手比较慢

    ps:造数据尽量真实,这个很重要。例如:我们利用某个字段进行索引查询,但是该字段全是一样的,不仅没有减少数据库的压力,反而增加了。

    预置数据的脚本(具体脚本请移步飞测群):

    1)mysql存储过程样例:

    2)oracle存储过程样例:

    3)java脚本生产数据样例:

  • 相关阅读:
    QWT编译与配置-Windows/Linux环境
    Manjaro Linux KDE个人的一些安装配置
    2019嵌入式之路的反思
    Linux内核调用I2C驱动_驱动嵌套驱动方法
    Ubuntu Linux TinySerial串口调试助手 可视化界面 安装使用
    ZYNQ的Linux Linaro系统镜像制作SD卡启动
    eclipse CDT Error: Program "g++" not found in PATH
    js Date格式化时间兼容写法
    ajax多图片上传demo
    php文件上传$_FILES数组格式
  • 原文地址:https://www.cnblogs.com/wangjizhen/p/9567080.html
Copyright © 2011-2022 走看看