秒杀活动测试方案

秒杀场景的特点:

  定时开始、库存有限、操作可靠

一、开发人员需要注意的事项

  现有的秒杀活动持续时间短,瞬间数量大,为了不影响其他业务的正常运行,需要把它从业务、技术、数据上做隔离,架构设计需要分几层来考虑,从客户请求到数据库存储,到最后上线前的压力测试。

  1、数据库设计(数据量特别大的情况下可使用:分表、分库、加索引等)

  2、redis+session管理

  3、参数校验+全局异常处理

  4、前端静态资源压缩整合

  5、使用CDN

  6、缓存

  7、读写分离

    隔离(业务隔离、系统隔离、数据隔离)、动静分离、分层校验(大量的数据做成是漏斗式设计)

    参考链接:http://www.51testing.com/html/62/n-3720162.html

 

二、压力测试方案:

首先确定测试步骤,且同步确定测试要求,如下:

(1)确定测试目标:与性能测试不同的是,压力测试的目标是什么时候系统接近崩溃

(2)确定关键功能:针对核心功能进行压力测试,如:下单、库存扣减

(3)确定负载:不是每个服务都有高负载的,我们的测试其实是要关注那些负载量大的服务,或者是一段时间内系统中某些服务的负载有波动。这些都是测试目标。

(4)选择环境:建议搭建和生产环境一模一样的环境进行测试。

(5)确定监测点:实际上就是对关注的参数进行监视,例如 CPU 负载,内存使用率,系统吞吐量等等。

(6)产生负载:这里需要从生产环境去获取一些真实的数据作为负载数据源,这部分数据源根据目标系统的承受要求由脚本驱动,对系统进行冲击。建议使用往期秒杀系统的数据,或者实际生产系统的数据进行测试。

(7)执行测试:这里主要是根据目标系统,关键组件,用负载进行测试,返回监视点的数据。模拟不同的网络环境,硬件条件进行有规律的测试。

(8)分析数据:对关键服务的压力测试数据进行分析得知该服务的承受上限在哪里。对一段时间内有负载波动或者大负载的服务进行数据分析,得出服务改造的方向。

 

三、性能测试关注点

  1、测试的目的:

  (1)了解秒杀系统在高并发下,系统是否稳定

  (2)了解秒杀系统性能瓶颈,并进行优化

  (3)通过业务场景压力测试实施,为系统调优提供数据参考

  2、业务分析:

  (1)用户注册/登录页面并发测试

  (2)用户填写信息页面并发测试

  (3)用户提交订单页面并发测试

  (4)后台数据库压力测试

  3、测试指标

  (1)用户并发数:15000

  (2)交易响应时间:

    <=3秒,性能优异,<=5秒性能良好,>=10秒,性能不好接受

  (3)交易吞吐量:后台主机每秒处理事务数

  (4)并发交易成功率>=99%

  4、测试资源指标

    关注服务器资源使用情况,监控的服务器包括API服务器和数据库服务器

  系统CPU占用率:<=80%;系统内存使用率:<=80%;系统I/O使用率:<=80%

 

posted @ 2020-04-24 16:10  Syw_文  阅读(4713)  评论(0编辑  收藏  举报