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