本次测试的内容是一个半价秒杀购车活动

登陆后,如果之前预约活动有预约成功过,那么就有资格进行抢购活动,如果之前活动没参与预约,那么会提示:你未预约没有抢购资格。

之前预约活动有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

秒杀抢购活动性能测试记录相关推荐

  1. redis使用队列进行抢购活动(秒杀)

    开启redis服务. 同一html页面模拟多个用户抢购,抢购名额为5.lpush.html代码如下: <!DOCTYPE html><html><head>< ...

  2. 如何用PHP写商品折扣_秒杀抢购时的超发,你用php如何优化的

    高并发下的数据安全 我们知道在多线程写入同一个文件的时候,会存现"线程安全"的问题(多个线程同时运行同一段代码,如果每次运行结果和单线程运行的结果是一样的,结果和预期相同,就是线程 ...

  3. 商城限时秒杀抢购系统

    1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一 ...

  4. php秒杀防重复中奖_PHP如何应对秒杀抢购高并发思路

    原标题:PHP如何应对秒杀抢购高并发思路 我们常用QPS(Query Per Second,每秒处理请求数)来衡量一个web应用的吞吐率,解决每秒数万次的高并发场景,这个指标非常关键. 举个栗子:假设 ...

  5. 秒杀抢购系统架构分析与实战

    1 秒杀业务分析 正常电子商务流程 (1)查询商品:(2)创建订单:(3)扣减库存:(4)更新订单:(5)付款:(6)卖家发货 秒杀业务的特性 (1)低廉价格:(2)大幅推广:(3)瞬时售空:(4)一 ...

  6. .NetCore+Jexus代理+Redis模拟秒杀商品活动

    开篇叙 ,顺手点个推荐也不错: a. 秒杀流程 b. 封装StackExchange.Redis的使用类 c. Ubuntu16.04上使用Jexus搭建代理完成分布式部署 d. NetCore写实时 ...

  7. Day820.抢购活动性能瓶颈调优 -Java 性能调优实战

    抢购活动性能瓶颈调优 Hi,我是阿昌,今天学习记录的是关于抢购活动性能瓶颈调优. 每年的双十一都是很多研发部门最头痛的节日,由于这个节日比较特殊,公司一般都会准备大量的抢购活动,相应的瞬时高并发请求对 ...

  8. 秒杀抢购场景下防止商品超卖的技术实现思路

    一. 秒杀抢购场景下防止商品超卖的技术实现思路 1. 通常解法 方案一: 在购买下单前先查询数据库库存是否大于0进行判断,有库存在进行减库存下单操作,反之下单失败. 具体做法:用户点击活动页面时,后台 ...

  9. Java商品秒杀抢购模拟双十一基础版

    Java秒杀抢购 需要用到的技术 java多线程 Redis mysql数据库 Quartz定时器 用到的框架: SSM 整体项目结构: 前端页面不用我们写,我这里提源码项目自己下载 链接:https ...

最新文章

  1. 绿色版mysql使用方法
  2. BZOJ3230 相似子串 字符串 SA ST表
  3. 不信任的 .exe 怎么办,用 Windows 沙盒啊!
  4. 2020-03-21
  5. 考驾照科目一考试很顺利
  6. VS 2013 统一修改所有工程的目录配置(以 boost、opencv3 的安装为例)
  7. verilog系统任务之$random
  8. 前端json格式转换
  9. DSP方案山景AP8224C2芯片可烧录适用USB声卡降噪麦克风
  10. 紧密中心度(Closeness Centrality)
  11. linux两台设备网桥配置,Linux网桥配置
  12. 女性内分泌失调要小心
  13. django创建app的命令
  14. 关于给hexo博客增加视频vlog页面(主要引入哔哩哔哩视频)
  15. PDF文件加密了怎么办?
  16. 谁抢走你的棒棒糖?精彩的创意让你得到的不仅仅是震撼 值得一看(图)
  17. 典型相关分析、对应分析
  18. 8080端口被占怎么解决
  19. 网站广告1像素1元,超有创意的百万像素网站
  20. Monkey的11种事件

热门文章

  1. 仿生学计算机pdf,基于仿生学的计算智能系统论文.pdf
  2. 轻松解读仿生学最优化算法(二)——蚁群算法
  3. 进击太空:脑电研究新领域
  4. 【Office】excel当前日期,下月日期
  5. Web前端工程师常去的15个技术网站
  6. STM32CubeIDE开发(三十二), stm32人工智能开发应用实践(Cube.AI).篇二
  7. 股票网站数据可视化,成为赌神不再是梦!!!
  8. [用友]年度结转 资料 ----------网络
  9. 变色html css js
  10. 19.2 NESMA 唯一和非唯一搜索条件的组合案例分析