采用jmeter进行抢购商品的压力测试

测试内容

疫情物资抢购项目提供了三种解决方案来比较系统性能:
1.利用MySQL的update行锁实现悲观锁。
2.MySQL加字段version实现乐观锁。
3.添加Redis缓存;
使用了JMeter在保证错误率为零的基础上,进行压力与性能测试(实验设置的是10秒内产生3000个请求或酌情5000个请求),分析每秒处理请求数、平均响应时间、等参数,最后得出相应结论。

测试步骤

1.建立线程组
并发数:5000/s,采样一周期
在这里插入图片描述
2.添加随机管理器,设置随机生成访问ID
在这里插入图片描述
代码出处:https://www.cnblogs.com/feng-1314/p/7115605.html

import java.util.UUID;
 
UUID uuid1 = UUID.randomUUID();    //获取UID的值
 
vars.put("id",(uuid1.toString()).toUpperCase().replaceAll("-",""));  
 
 //去掉UUID的“-”,再赋值给order_id  运行获取的参数就是:3F2504E04F8911D39A0C0305E82C3301
 
//vars.put("order_id",(uuid1.toString()).toUpperCase()); 
 //这个就是不用去掉UUID的“-”    运行获取到的参数就是:3F2504E0-4F89-11D3-9A0C-0305E82C3301

POST请求
在这里插入图片描述

测试结果

1.悲观锁缓存结果:
qps=(1000/6378)*3000=470
在这里插入图片描述
2.乐观锁
qps=(1000/756)*5000=6613
在这里插入图片描述
响应时间记录周期:200ms
在这里插入图片描述
3.Redis的缓存结果:
qps=(1000/91)*3000=32258
在这里插入图片描述
响应时间记录周期:100ms
在这里插入图片描述

发布了21 篇原创文章 · 获赞 4 · 访问量 1357

猜你喜欢

转载自blog.csdn.net/smile001isme/article/details/104915948