秒杀抢购活动性能测试记录
本次测试的内容是一个半价秒杀购车活动
登陆后,如果之前预约活动有预约成功过,那么就有资格进行抢购活动,如果之前活动没参与预约,那么会提示:你未预约没有抢购资格。
之前预约活动有12W人预约成功,那么秒杀活动开始的时候规则是:第一个请求响应的人能中这个名额,其它的全部都会提示:抢购失败
中间还有个规则是:在点击抢购按扭后,会弹出验证码,验证码输入正确验证OK后,才真正提交抢购post
那么问题来了:并发存在2处:
1、验证码
2、抢购接口post接口
分析压力大小:
因为之前没有积累线上数据,所以并不知道真实的压力会有多大,所有各方给不出一个目标,只能朝单位机器下应用的极限来并发压测
因为有12W人已预约成功,届时秒杀活动优惠达5W之高,活动力度之大,可谓为压测增加了困难,预估抢购活动那10分钟,可能会有12W请求,且活动并发达到一个未知比较大的值,为啥说未知呢,因为所有人都给不出这个数据,光追着我要极限值,我也是无语了。极限值 只存在特定情况下。
我的分析:
1、使用LR,最大的用户数10000,集合点设置10000,算是极限值了。这个极限值并不是我的应用的极限值,是我并发工具的极限值,LR允许的最大用户数就是10000
2、机器绝不会只有1台,即使1台测试了也没意义,线上至少要2台以上。因为验证码前期测试的时候性能较差,所以我索性用了7台后端
脚本分析:
1、验证码
(1) 验证码,只用在脚本中检查是否有出来验证码图片,就行了。出不来图,证明加载不出来。也是有问题的。要统计这个错误率。
2、抢购post接口
(1) 大并发下,验证业务逻辑,确认接口返回的信息,不存在“活动未开始”“没有预约”,只能是1个成功,其它全是抢购失败提示
(2) 大并发下,抢购成功的uid与实际入库UID一致,且数据量对等。
(3) 大并发下,单位时间内看错误率
解决的一些LR工具配置错误:
1、captcha_info.c(6): Continuing after Error -27780: [GENERAL_MSG_CAT_SSL_ERROR]connect to host "t-captcha.pcauto.com.cn" failed: [10054] Connection reset by peer
captcha_info.c(6): Continuing after Error -27776: Server "t-captcha.pcauto.com.cn" shut connection during attempt to negotiate SSL session
原因是LR不支持SSL,在脚本中打开录制选项-options-network-port Mapping-add entry
证书pem,一般情况下存在于Tengines读取的SSL证书目录下,导出在本地,然后在LR配置中上传即可。
注意:
去掉
去掉
2、The load generator is currently running the maximum number of Vusers of this type
以抢购脚本为例分析:
这个接口返回的数据是json内容,然后app弹出提示
因为我要检查活动进行中,大并发量下的,各类返回结果对不对,和确认结果正确性。
脚本:
集合点设置:
场景中跑hello这个action即可
策略设置:
压力结果:
压力结果分析:
工具并发1W,请求可以确认1W/s同时去发,但是因为受网速、响应速度、resin允许最大线程数配置限制(resin配置256,超过256个请求同时过来的时候,就会等待,所以会不是完全的并发,虽然工具发了请求,但实际请求没有到应用层),那么为了核对真正的并发。我对accesslog分析每秒具体是有多少条日志过来。经分析,
实际每秒并发处理只有最高5200+
所以可以得出,每秒1W请求/s,实际只响应得了最高5K/s
秒杀抢购活动性能测试记录相关推荐
- redis使用队列进行抢购活动(秒杀)
开启redis服务. 同一html页面模拟多个用户抢购,抢购名额为5.lpush.html代码如下: <!DOCTYPE html><html><head>< ...
- 如何用PHP写商品折扣_秒杀抢购时的超发,你用php如何优化的
高并发下的数据安全 我们知道在多线程写入同一个文件的时候,会存现"线程安全"的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一样的,结果和预期相同,就是线程 ...
- 商城限时秒杀抢购系统
1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一 ...
- php秒杀防重复中奖_PHP如何应对秒杀抢购高并发思路
原标题:PHP如何应对秒杀抢购高并发思路 我们常用QPS(Query Per Second,每秒处理请求数)来衡量一个web应用的吞吐率,解决每秒数万次的高并发场景,这个指标非常关键. 举个栗子:假设 ...
- 秒杀抢购系统架构分析与实战
1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一 ...
- .NetCore+Jexus代理+Redis模拟秒杀商品活动
开篇叙 ,顺手点个推荐也不错: a. 秒杀流程 b. 封装StackExchange.Redis的使用类 c. Ubuntu16.04上使用Jexus搭建代理完成分布式部署 d. NetCore写实时 ...
- Day820.抢购活动性能瓶颈调优 -Java 性能调优实战
抢购活动性能瓶颈调优 Hi,我是阿昌,今天学习记录的是关于抢购活动性能瓶颈调优. 每年的双十一都是很多研发部门最头痛的节日,由于这个节日比较特殊,公司一般都会准备大量的抢购活动,相应的瞬时高并发请求对 ...
- 秒杀抢购场景下防止商品超卖的技术实现思路
一. 秒杀抢购场景下防止商品超卖的技术实现思路 1. 通常解法 方案一: 在购买下单前先查询数据库库存是否大于0进行判断,有库存在进行减库存下单操作,反之下单失败. 具体做法:用户点击活动页面时,后台 ...
- Java商品秒杀抢购模拟双十一基础版
Java秒杀抢购 需要用到的技术 java多线程 Redis mysql数据库 Quartz定时器 用到的框架: SSM 整体项目结构: 前端页面不用我们写,我这里提源码项目自己下载 链接:https ...
最新文章
- 绿色版mysql使用方法
- BZOJ3230 相似子串 字符串 SA ST表
- 不信任的 .exe 怎么办,用 Windows 沙盒啊!
- 2020-03-21
- 考驾照科目一考试很顺利
- VS 2013 统一修改所有工程的目录配置(以 boost、opencv3 的安装为例)
- verilog系统任务之$random
- 前端json格式转换
- DSP方案山景AP8224C2芯片可烧录适用USB声卡降噪麦克风
- 紧密中心度(Closeness Centrality)
- linux两台设备网桥配置,Linux网桥配置
- 女性内分泌失调要小心
- django创建app的命令
- 关于给hexo博客增加视频vlog页面(主要引入哔哩哔哩视频)
- PDF文件加密了怎么办?
- 谁抢走你的棒棒糖?精彩的创意让你得到的不仅仅是震撼 值得一看(图)
- 典型相关分析、对应分析
- 8080端口被占怎么解决
- 网站广告1像素1元,超有创意的百万像素网站
- Monkey的11种事件
热门文章
- 仿生学计算机pdf,基于仿生学的计算智能系统论文.pdf
- 轻松解读仿生学最优化算法(二)——蚁群算法
- 进击太空:脑电研究新领域
- 【Office】excel当前日期,下月日期
- Web前端工程师常去的15个技术网站
- STM32CubeIDE开发(三十二), stm32人工智能开发应用实践(Cube.AI).篇二
- 股票网站数据可视化,成为赌神不再是梦!!!
- [用友]年度结转 资料 ----------网络
- 变色html css js
- 19.2 NESMA 唯一和非唯一搜索条件的组合案例分析