原标题:性能测试系列--数据准备篇
性能测试是很多测试向往的,今天小怪邀请以邱教授(心&阳)牵头的一波性能专家们开始分享他们的经验,需要的多交流,详细如下:
本文说的数据量主要包括基础数据量(或者叫历史数据量、垫底数据量、数据库中已有的数据量)和参数化数据量,数据量在性能测试中起到非常重要的作用。对于在数据库中只有几条记录和有几亿条记录里面查询信息,那么结果肯定相差非常大的,随着业务量的增长,记录也越来越多,因此在性能测试过程中,需要保持跟生产上相同级别的数据量。生产系统中业务中使用不同的数据、那么我们在测试的时候需要考虑参数数据量的大小和数据分布的问题。
如果基础数据量跟生产环境的基础数据量不在同一个数量级上,将会导致相关指标例如响应时间比生产上快很多,不真实,甚至导致测试结果没有参考意义。如果参数化数据量过少、未考虑数据分布的情况,将会导致测试结果不真实,甚至测试结果没有参考意义。
基础数据量:
测试环境基础数据量需要跟生产环境基础数据量保持在同一个数据量级上,一般情况下需要考虑未来三年数据量增长趋势,如果增长过快需要在测试环境造非常多的数据。
参数化数据量:
1)参数化数据量尽可能的多,必要的情况下,可以清除缓存或者用写代码的方式提供参数化。
2)参数化数据分布,如果业务有明显的地域等分布的特征,需要考虑数据分布的情况。
数据量预置的方法:
1)从生产库导数据---最优方案
2)存储过程生产数据,也可以写脚本---建议登录用户数据使用存储过程生产
3)loadrunner或jmeter生产---过程业务数据建议使用工具生产,数据比较真实
4)DataFactory 数据工厂生产数据------上手比较慢
ps:造数据尽量真实,这个很重要。例如:我们利用某个字段进行索引查询,但是该字段全是一样的,不仅没有减少数据库的压力,反而增加了。
预置数据的脚本(具体脚本请移步飞测群):
1)mysql存储过程样例:
2)oracle存储过程样例:
3)java脚本生产数据样例:
好了, 本次到此, 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注、转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是我们期待的方向,有更多兴趣的欢迎切磋,我们微信订阅号,联系方式如下:
推荐的文章
责任编辑: