jmeter做压测,模拟1000用户,怎么设置能达到1000并发

jmeter做压测,模拟1000用户,怎么设置能达到1000并发,第1张

1、用参数化,实现1000个不同的用户名、密码登录系统参数化:Thread Group的Add->Config Element->CSV Data Set Config添加

2、以下是CSV Data Set Config各个参数的简要说明:FileName:即同目录下csv文件的名称。File Encoding: 默认为ANSI。Varible Names: 定义文本文件中的参数名,参数之间逗号分隔定义后可在脚本在以Shell变量的同样的方式引用,Allow Quoated data: 双引号相关。

3Recycle on EOF: 设置为True后,允许循环取值。Stop Thread on EOF: 当Recycle on EOF为false并且Stop Thread on EOF为true,则读完csv文件中的记录后,停止运行,Sharing Mode: 设置是否线程共享。再外层设置1000用户 0s内同时并发。

单台机器的话:看机器配置,一般受内存和cpu影响。比如运存8G(实际可用781G)的电脑,处理器:Interpentiumcpug3260330GHZ,跑到200并发的时候已经出现JMeter报错了,可以利用集合点做jmeter并发测试,详细步骤:

1、准备好要并发的接口,有了接口才好举例说明。

2、要做并发的话,一定要添加同步计时器(另外里边的两个参数,注意,模拟用户组的数量一定不要超过线程数)。

3、设置线程数,填入自己想要并发的数量。

4、点击顶部工具栏的蓝色三角按钮,然后就可以看到运行结果了。

5、就可以在监听器-->用表格察看结果里看到同时发出的5条请求,并发测试就完成了。

说明:每个线程组都有自己的cookie暂存区域,所以cookie管理器默认不支持跨线程组;

解决:

第一步:设置属性:CookieManagersavecookies = true ;作用:运行将cookie保存到变量中

第二步:将变量中cookie信息设置成属性; *** 作,如:${__setProperty(sessionid,${XXX},)}

第三步:读取属性作为手动设置cookie的值 ${__P(${XXX})}

提示:如还有不清楚,可参考黑马程序员接口系列视频;

将一个常量写成变量的形式,每次调用参数获得不同的数据。

PS: 这里要说下Cookie,在后面的参数化过程中发现登录接口请求头里要携带cookie;我一直的误解就是只有登录才有cookie产生,其实是不对的, 一般的cookie是会话被创建时就产生,关闭后就消失 ;可以随便访问项目的网页获取到cookie,然后想办法将cookie加到请求头里去~

1、CSV控制-CSV DATA Set Config

线程组 -> 新建请求 ->参数用变量代替 ,格式${变量名}

新建EXCEL文件,写入测试数据-> 另存为csv文件的格式;

线程组 ->添加配置元件->CSV DATA Set Config->在配置元件里输入csv的绝对地址 ->若CSV不含表头,则在CSV数据文件设置里输入表头变量;反之,则不添加;

2、用户自定义变量

比如有登录接口和获取token的接口,都需要输入用户名和密码,如果我在每个接口请求参数都输入一次,相当于输入了两次;那么,可以使用自定义变量,将用户名和密码的值存在一个变量里,后续的接口需要时直接调用参数即可,减少重复输入的次数。具体 *** 作如下:

线程组-> 添加配置元件->选择用户自定义变量->添加变量名及对应的值(key&value);

线程组 -> 新建请求 ->参数用变量代替,格式为${变量名},调用变量值;

PS: 用户定义变量的所有数据只会初始化一次,不管你多少线程,循环多少次,它的值是不变的(即同一个变量的值写死,不能改变)。 用户自定义变量作用域不同,表示的含义也有区别;放在线程组外,表示全部变量;放在线程组内表示局部变量。

3、用户参数

在调试脚本的时候,可以使用前置处理器中的用户参数组件进行数据的提供,在该数据中可以使用固定值也可以使用变量值。

线程组-> 添加前置处理器->选择用户参数->添加变量名,并输入多个对应的值

每次迭代更新一次:如果选中该选项,则参数的值在每个迭代中保持不变,在新的迭代开始时取下一个值。

PS:在使用用户参数时,如果有n个值,需要设置线程数=n,若设置循环为n,只会调用第一个值执行n遍。

4、函数助手

函数助手里内置了多个函数,如__Random或${__CSVRead(,)}等可以按需求使用不同的功能函数;

面板-> 选项-> 函数助手对话框-> 根据需要选择不同的函数-> 设置范围及变量名->后续接口调用。

${__CSVRead(,)}可以实现读取CSV数据,()里逗号左边是CSV路径,右边是CSV里存放的变量的索引;索引从0开始依次增加1,如 ${__CSVRead(D:\jmeter\loginstxt,0)}。 注:这里的CSV文件就不要表头了。

用户自定义变量的值写死,不能改变;而用户参数,可以引入函数助手,使得同一变量有不同的变量值。

以上就是关于jmeter做压测,模拟1000用户,怎么设置能达到1000并发全部的内容,包括:jmeter做压测,模拟1000用户,怎么设置能达到1000并发、jmeter最多支持多少个并发、jmeter中登录接口成功后,如何保证下个线程组请求也是登录状态等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9707768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存