秒杀活动测试方案
上一篇 /
下一篇 2021-06-09 10:12:06
/ 个人分类:其他
秒杀场景的特点:
定时开始、库存有限、操作可靠
一、开发人员需要注意的事项
现有的秒杀活动持续时间短,瞬间数量大,为了不影响其他业务的正常运行,需要把它从业务、
技术、数据上做隔离,架构设计需要分几层来考虑,从客户请求到
数据库存储,到最后上线前的
压力测试。
- 数据库设计(数据量特别大的情况下可使用:分表、分库、加索引等);
- redis+session管理;
- 参数校验+全局异常处理;
- 前端静态资源压缩整合;
- 使用CDN;
- 缓存;
- 读写分离。
隔离(业务隔离、系统隔离、数据隔离)、动静分离、分层校验(大量的数据做成是漏斗式设计)
参考链接:http://www.51testing.com/html/62/n-3720162.html
二、压力测试方案:
首先确定测试步骤,且同步确定测试要求,如下:
- 确定测试目标:与性能测试不同的是,压力测试的目标是什么时候系统接近崩溃;
- 确定关键功能:针对核心功能进行压力测试,如:下单、库存扣减;
- 确定负载:不是每个服务都有高负载的,我们的测试其实是要关注那些负载量大的服务,或者是一段时间内系统中某些服务的负载有波动。这些都是测试目标;
- 选择环境:建议搭建和生产环境一模一样的环境进行测试;
- 确定监测点:实际上就是对关注的参数进行监视,例如CPU负载,内存使用率,系统吞吐量等等;
- 产生负载:这里需要从生产环境去获取一些真实的数据作为负载数据源,这部分数据源根据目标系统的承受要求由脚本驱动,对系统进行冲击。建议使用往期秒杀系统的数据,或者实际生产系统的数据进行测试;
- 执行测试:这里主要是根据目标系统,关键组件,用负载进行测试,返回监视点的数据。模拟不同的网络环境,硬件条件进行有规律的测试;
- 分析数据:对关键服务的压力测试数据进行分析得知该服务的承受上限在哪里。对一段时间内有负载波动或者大负载的服务进行数据分析,得出服务改造的方向。
三、性能测试关注点
- 了解秒杀系统在高并发下,系统是否稳定;
- 了解秒杀系统性能瓶颈,并进行优化;
- 通过业务场景压力测试实施,为系统调优提供数据参考。
- 用户**/登录页面并发测试
- 用户填写信息页面并发测试
- 用户提交订单页面并发测试
- 后台数据库压力测试
- 用户并发数:15000
- 交易响应时间:<=3秒,性能优异,<=5秒性能良好,>=10秒,性能不好接受
- 交易吞吐量:后台主机每秒处理事务数
- 并发交易成功率>=99%
关注服务器资源使用情况,监控的服务器包括API服务器和数据库服务器
系统CPU占用率:<=80%;系统内存使用率:<=80%;系统I/O使用率:<=80%
收藏
举报
TAG: