高级性能测试系列《27. sqlite数据库中的这份数据可以用于性能测试:设置属性、获取属性,与csv这份数据比较有什么优劣?》...

目录

  • 一、从项目的mysql数据库中,获取数据,保存了几份数据?

    • 1.设置为属性。

    • 2.获取属性。

  • 二、设置属性,需要设置n多个属性,这n多个属性是否占用资源,与csv文件比较有什么有优劣?

    • 1.对比csv文件。

    • 2.保存响应到文件,可以直接保存为csv文件吗?

    • 3.一定要保存成csv文件怎么办?

  • 三、现在的数据来源是项目的数据库中来的,有没有其它方式生成账号?

一、从项目的mysql数据库中,获取数据,保存了几份数据?

从上篇文章中的场景,可以看到:高级性能测试系列《26. 从mysql中查询出数据写入sqlite中,再从sqlite中查询出数据写入txt文件中。》

保存了2份数据。

1份数据是存在sqlite数据库中。

1份数据是存在txt文件中。 =====可以去做最传统的csv数据文件设置的原始数据文件。

sqlite数据库中的这份数据,如何做性能测试?

1.设置为属性:

01bad7bdf4502b8d13406c9b043a6ae7.png
图1:线程数是1,循环次数是1
6b7e2c9ca63e411449245dacc752ee06.png
图1:selectsqlite:查询出10条数据。
ede99d6d0dac95b6887218f7f1d8db50.png
图1:循环次数:${smb_#}
91e804f78689914f03b83e7d19d66285.png
图1:函数助手:__counter
7508516add8632dd0198a16ceafd82e6.png
图1:函数助手:__setProperty:设置属性。
5364e6b781d2ebd55308dbde2772c9a3.png
图1:调试取样器。
e316b97dd252925d7d886e198305a9a1.png
图1:属性显示:prmb_1至prmb_10。

2.获取属性:

b6efa02203d9dae80803e68bd9baab50.png
图1:线程数是2,持续时间是10秒。
71c04f77e9c66b69220b4bb276e8a7ba.png
图1:函数助手:__P获取属性。
16a84f6ddef9e9d19317a979453ab1d7.png
图1:计数器。
cba0a78d1c4a4c4e21c467664ab5820b.png
图1:login
619b52e15264f5720bc7105e251515ac.png
图1:运行结果。

sqlite数据库中的这份数据可以用于性能测试。

二、设置属性,需要设置n多个属性,这n多个属性是否占用资源,与csv这份数据比较,有什么有优劣?

如果设置2w个账号,是需要2w个属性,且要占用资源。

1.对比csv文件

如果文件里包含2w条数据,打开文件后,会读取这2w条数据,所以整个文件大小会占用资源。

csv文件所占用的资源包括:数据 + 管理数据所需要的资源 > 属性占用的资源

读写csv文件,需要大量的磁盘IO(换入换出操作)。

读取csv文件,每次都是读取一行数据。读一行用一行,读一行用一行,所以频繁得使用IO。

使用大量的磁盘IO(换入换出操作),会比cpu占用过高,更加导致电脑卡顿。

2.保存响应到文件,可以直接保存为csv文件吗?

默认情况下,保存文件,用\t进行列分隔。

所以,能保存txt文件,xlsx文件。不能保存为csv文件,因为csv文件是用英文的逗号分隔的。

3.一定要保存成csv文件怎么办?

放弃使用txt文件、xlsx文件,用csv文件。

修改jmeter.properties文件中的:

jmeter.save.saveservice.default_delimiter=,

修改完毕后保存,保存后重启Jmeter。

三、现在的数据来源是项目的数据库中来的,有没有其它方式生成账号?

如果没有数据库的权限,拿不到数据库里面的数据。

那么可以先调用注册接口, 同时把注册成功的账号和密码,写一份到本地的sqlite数据库中。同时本地的文件也将这份数据保存了。

054325e8d22513d0ecca0cacaa9ac6aa.png
图2:线程数是1,循环次数是1.
4d763969705bff192bc9a588619dcb85.png
图2:register
ad1db65bc0960b17c75a702278c50ed8.png
图2:函数助手:__Random
699dc801f348a0be3a2c7f3ba97df6d5.png
图2:用户参数。
69b707678e133183770f77d14490f4ca.png
图2:insertsqlite
8928e79c4ebd9e4c870bab16134d4468.png
图2:运行结果。
0d1e92eb0606cf06e341c227484b765d.png
图2:运行结果。

sqlite数据库不支持多线程。多线程的时候就会出现运行失败。加个临界部分控制器,多用户也会变成串行执行。

240f3e635b6a40fcd6aa9749127b09e7.png
图3:线程数是10,持续时间60秒。
cce96e905cb7aaf1902db6a314a25248.png
图3:运行结果。
c9fb454c7852776da5ca4924ecc31118.png
图3:运行结果。

random随机生成的数字会有重复的。

我注册一批账号,这批账号,在被测项目的数据库中存在,那么就可以用于后续的登录相关的测试。

这批账号,又在我本地的sqlite中保存了一份,以后我要用,我直接从本地数据库中取出来就可以用。

gitee脚本链接:

https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced%20performance%20testing


文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!

欢迎关注 “清菡软件测试”,进群加v:qhtester,备注:学校(公司名)+姓名(昵称),否则不予通过,感谢点赞与分享!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清菡软件测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值