【学习笔记】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文件中。
【学习笔记】seckill-秒杀项目--(7)压力测试相关推荐
- 学习笔记-JMeter 进行接口压力测试
一.压力测试场景设置 1.场景设定:进行接口压力测试时,有单场景也有混合场景.单场景就是对一个接口进行请求:混合场景需要对多个接口进行请求,在流程类业务场景会运用到 2.压测时间设定:通常时间为10- ...
- 软件测试学习笔记(九)淘宝测试
软件测试学习笔记(九)淘宝测试 视频链接:软件测试_中国大学MOOC 1.淘宝性能测试经历哪三个发展阶段?简述其工作内容. (1)业务发展-基础阶段 编写性能测试白皮书和测试文档,整理了常用性能测试的 ...
- 关于秒杀系统的压力测试
使用jmeter工具来进行秒杀系统的压力测试 首先是对暴露秒杀地址所能在线用户的测试,测试结果如下图所示: 当我设置180个线程1秒内开启并且进入秒杀界面的时候,发现Throughput的值是比样本的 ...
- Windows保护模式学习笔记(十四)—— 阶段测试
Windows保护模式学习笔记(十四)-- 阶段测试 题目一 解题步骤 题目二 解题步骤 题目一 描述:给定一个线性地址,和长度,读取内容 int ReadMemory(OUT BYTE* buffe ...
- Scrapy:学习笔记(2)——Scrapy项目
Scrapy:学习笔记(2)--Scrapy项目 1.创建项目 创建一个Scrapy项目,并将其命名为"demo" scrapy startproject demo cd demo ...
- webpack入门学习笔记10 —— 在项目中使用图片资源
1. 写在前面 在前端项目中,图片是必不可少的一种资源.在使用图片的时候,我们可以有以下几种方式: 在 .html 文件中,通过 <img src="" alt=" ...
- JavaWeb黑马旅游网-学习笔记10【项目代码】
Java后端 学习路线 笔记汇总表[黑马程序员] JavaWeb黑马旅游网-学习笔记01[准备工作] JavaWeb黑马旅游网-学习笔记02[注册功能] JavaWeb黑马旅游网-学习笔记03[登陆和 ...
- STM32学习笔记——MDK新建项目
STM32学习笔记 KIEL新建项目过程 文章目录 STM32学习笔记 前言 一.keil新建库函数版本项目 二.注意事项 1.文件分类 2.MDK配置 总结 前言 此处使用寄存器版,进行学习.后期看 ...
- DSB2017项目grt123代码学习笔记一:项目基本情况
DSB2017项目grt123代码学习笔记一:项目基本情况 Kaggle上Data Science Bowl 2017年肺结节检测比赛第一名grt123团队的算法. github地址:https:// ...
- 软件测试学习笔记(三)控制数据流测试
软件测试学习笔记(三)控制&数据流测试 视频链接:软件测试_中国大学MOOC 2.3 结构化覆盖 2.4 控制流测试 2.5 数据流测试 1.什么是顶点覆盖? 对每个测试需求,即可达顶点,都可 ...
最新文章
- linux .lz进程,LLinux常用命令(二)
- MySQL日期及时间加减函数
- 史上最复杂业务场景,逼出阿里高可用三大法宝
- python vscode_VScode || 为VScode配置python环境
- java实训遇到问题解决_「instantiationexception」关于java出现 java.lang.InstantiationException异常的分析与解决方案 - seo实验室...
- 极光实时监听怎么调用_源码分析 Sentinel 实时数据采集实现原理(图文并茂)
- 推给我的广告都跟我最近看的内容有关系,怎么做到的?
- centos7 sh 注释_在CentOS7上安装RocketMQ 4.7.1
- 蓝桥杯 AGLO-152 算法训练 8-2求完数
- python 读取一个文件夹下所有图像
- 屏幕取词编程学习总结
- 调整html元素大小 resize
- AiDD AI+软件研发数字峰会开启编程新纪元
- 燃气管道运行全局实时监控系统-海城支线总页面
- 经典解压缩软件 WinRAR 5.71 无广告版
- 2023第八届少儿模特明星盛典 小超模刘子衿 担任全球赛代言人
- wamp出现拒绝访问
- c语言调用tuxedo步骤,c语言入门之BCB客户端tuxedo开发实例
- zookeeper随堂笔记
- 【web】【django】datatable的button扩展实现纯前端下载和copy指定列内容,以及django的HTTPResponse实现下载功能
热门文章
- 微信公众号常见问题~1024
- 刺激战场体验服最全更新:这样明日之后版“极寒模式”你喜欢吗?
- python之装饰器模式
- 南充计算机希望小学修建进展,涉及多个棚户区改造,2020年南充这个区拟实施130个重点项目!...
- Ubuntu+FFmpeg源码+H264+RTMP推流
- 北京大学2014计算机学科夏令营上机考试
- 官网查找Maven依赖包步骤
- 国内如何购买Google Colab会员
- 库卡机器人外部紧急关断已按_江门市库卡重工机器人保养中心
- HTML基础 || 01 web概述+HTML