活动并发测试-1000个不同用户同时并发请求报名笔记
场景:活动报名接口:1000个不同用户同时并发请求报名。
思考:
步骤一:不同用户,需批量生成1000个不同用户,使用postman工具
步骤二:由于活动报名做了token校验,为此还需要1000个用户同时在线和不同的token值,为此考虑可以直接在数据库里添加1000个用户token,使用Navicat工具
步骤三:并发请求,需要创建1000个线程,同时进行并发请求,这里需要使用JMeter工具
解决方法:
步骤一:postman批量生成1000个用户,这里我用的postman版本为8.12.1
1)获取Post请求链接:http://xxxx/addUser
2)生成用户肯定需要带上用户姓名、手机号码等信息,而这些信息一般带在body上,那么如何生成动态的用户信息呢?可以将需要的信息用{{}}括起来,后面再进行处理
{
"trueName": "{{trueName}}",
"phone": "{{phone}}"
}
3)创建用户信息csv文件。
trueName,phone
并发用户1,15100000001
并发用户2,15100000002
并发用户3,15100000002
.........(此处省略,总计1000个用户信息)
4)Postman创建一个Collection,把上面的请求连接和body参数方进去,注意:一定要保存!一定要保存!一定要保存!。
5)生成测试结果判断。注意:一定要这个,不然会报错。
6)批量运行。点击批量添加用户,可出现下面。
7)完成上述步骤,点击——》Run批量添加用户 ,然后去后台或者数据库查看一下是否生成。
步骤二:数据库生成1000个token,使用Navicat的版本为15.0.25
- 新建查询,创建相应批量插入存储过程(函数)。
drop procedure if exists insert_ten_rows;
create procedure insert_ten_rows()
begin
declare i int default 1;
while i<=1000 do
insert into t_user_token (user_id,user_token) values(i,i);
set i = i+1;
end while;
end
- 点击函数,即可查看到创建的函数,点击运行,等待批量插入成功!到数据库查看。
步骤三:并发请求,使用版本JMeter版本为5.4.1
- 创建的所有目录如下:
-
创建一个线程组:
-
创建一个Http请求默认值,这个主要添加服务地址和端口
-
创建Http信息头管理器,主要创建token变量-${token},这里括号里token对应的是csv中的头信息
-
创建CSV数据文件设置,这里将带有1000个token文件导入
-
创建活动报名请求,此处为post请求
-
创建同步定时器,为了保证同时触发
-
后面创建察看结果树、聚合报告等统计信息。
-
最后运行,查看结果。