本文共 776 字,大约阅读时间需要 2 分钟。
疫情物资抢购项目提供了三种解决方案来比较系统性能:
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.htmlimport 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