学习笔记seckill-秒杀项目--7压力测试
一、JMeter简单使用
添加线程组,在线程组里设置要测试的线程数等。在线程组里添加HTTP请求默认值(设置请求ip端口号等)、HTTP请求(测试哪个页面)、需要查看的结果等。
在聚合报告里可以看到设置1000个线程的情况下吞吐量大概为190.(windows环境)
二、虚拟机环境压力测试
首先在虚拟机服务器中安装JDK以及MySQL。
把项目打包,JMeter打包,发布到虚拟机中。
在linux中执行./jmeter.sh -n -t first.jmx -l result.jtl
进行压力测试,把结果保存在result.jtl
中。用xftp传到windows中查看结果。结果如下。由于虚拟机分配的内存较少,所以吞吐量也很低。
三、配置同一用户测试
3.1 无参数请求测试
请求商品信息页,10000个请求,吞吐量207。
3.2 有参数请求测试
请求用户信息,10000个请求,吞吐量800
四、配置不同用户测试
4.1 两个用户
在数据库里添加两个用户
在网页中测试两个用户对应的 userCookie
,将这些信息写进config.txt
中备用。
在JMeter中,添加CSV数据文件设置,引入config.txt
文件,设置编码格式为UTF-8。添加HTTP Cookie管理器,配置如下。
测试结果,吞吐量400
4.2 配置用户步骤
配置不同用户步骤:
- 准备CSV文件
导入文件,设置编码格式,变量名称,逗号分隔 - 准备Cookie管理器
名称是代码里设置的name, 值是CSV文件里定义的变量名称
五、正式压测
将线程数改为1000,循环10次,也就是总共10000个线程。
首先在windows环境下测试,两个接口:商品列表、秒杀。
linux环境下暂时还未测试。(有点嫌麻烦,linux配置较低,吞吐量会比windows更小)
5.1 windows
- 商品列表
吞吐量225。 - 秒杀
添加一个秒杀接口。秒杀商品Id为1 的商品。
测试结果:
吞吐量120 。
5.2 小结
秒杀接口QPS比商品列表QPS小的多,因为秒杀接口要做数据更新,肯定要比查询效率低。
去数据库中查看数据,发现订单已经超卖,并且库存减为负数。
并且在代码中没有设置秒杀结束时间,商品恢复原价。后续进行修复。
六、使用工具类生成用户
为了进行秒杀接口的测试,准备工具类生成5000个不同的用户。
生成5000个用户后将用户写入数据库,并登录页面获取他们对应的的Cookie值,写入config.txt文件中。
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhiakkci
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22