秒杀抢购活动性能测试记录

 

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

 

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

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

 

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
京东秒杀是京东商城为消费者提供的一个特殊抢购活动,让消费者有机会以抢购的方式购买茅台酒。而Python是一种广泛应用于计算机编程领域的编程语言。 京东秒杀抢购茅台是指在特定的时间段内,京东商城通过限量发售的方式,让消费者以抢购的形式购买茅台酒。这种抢购方式将商品数量限制在一定的额度,消费者需要在指定的时间内迅速下单并付款才能成功购买。由于茅台酒的稀缺性和价值,京东使用此种抢购方式来满足消费者对茅台酒的需求。 而Python是一种简洁易读的高级编程语言,被广泛应用于数据分析、人工智能、网站开发等领域。其简洁的语法和强大的功能使得Python成为许多开发者和科学家的首选语言。在京东秒杀抢购茅台活动中,消费者可以利用Python编写抢购脚本,使得实现抢购的自动化,以提高抢购茅台酒的成功率。 使用Python编写抢购脚本的关键是通过网络请求模拟用户的操作流程,包括登录、选择商品、提交订单等。通过编写脚本,可以实现自动登录京东商城,自动搜索和选择茅台酒商品,并在抢购开始时自动提交订单,大大提高了茅台酒抢购的效率。 在京东秒杀抢购活动中,使用Python的抢购脚本能够帮助消费者在短时间内完成购买操作,提高了成功购买茅台酒的机会。但需要注意的是,京东也会采取一些措施来防御恶意脚本,因此需要具备一定的编程能力和网络知识才能实现有效的抢购策略。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值