在一台4核2G内存的Centos6.8虚拟机上对秒杀接口进行压力测试,
虚拟机上跑着秒杀应用、redis、rabbitmq、jmeter,主机跑着mysql,
用50000个并发,有 2114 QPS
(1)Redis预减库存减少数据库访问
(2)Redis秒杀订单查询减少数据库访问
(2)内存标记减少Redis访问
(3)RabbitMQ队列缓冲,异步下单,增强用户体验
(1)秒杀接口地址隐藏
(2)数学公式验证码(防止机器人、拉长系统访问时间来达到削峰)
(3)接口防刷
(1)秒杀订单唯一复合索引防止重复下单
(2)库存>0限制防止超卖
(3)事务控制:减库存、下订单、存redis