目录
- 一、从项目的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.设置为属性:
图1:线程数是1,循环次数是1
图1:selectsqlite:查询出10条数据。
图1:循环次数:${smb_#}
图1:函数助手:__counter
图1:函数助手:__setProperty:设置属性。
图1:调试取样器。
图1:属性显示:prmb_1至prmb_10。
2.获取属性:
图1:线程数是2,持续时间是10秒。
图1:函数助手:__P获取属性。
图1:计数器。
图1:login
图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数据库中。同时本地的文件也将这份数据保存了。
图2:线程数是1,循环次数是1.
图2:register
图2:函数助手:__Random
图2:用户参数。
图2:insertsqlite
图2:运行结果。
图2:运行结果。
sqlite数据库不支持多线程。多线程的时候就会出现运行失败。加个临界部分控制器,多用户也会变成串行执行。
图3:线程数是10,持续时间60秒。
图3:运行结果。
图3:运行结果。
random随机生成的数字会有重复的。
我注册一批账号,这批账号,在被测项目的数据库中存在,那么就可以用于后续的登录相关的测试。
这批账号,又在我本地的sqlite中保存了一份,以后我要用,我直接从本地数据库中取出来就可以用。
gitee脚本链接:
https://gitee.com/qinghanstudy/gaojixingneng/tree/master/Advanced performance testing
文章中除标明“图片来自网络”的图片,皆为小编本人所画所截图,计算机知识都一样,如有雷同,纯属巧合。文章是清菡编写的,如有转载,请标明出处!