周年庆处理
来自技术开发小组内部wiki
技术方面:
问题:
1,秒杀并发瞬间到6K的时候导致页面出现打不开,等等现象。
2,店庆专题页面秒杀产品的状态更新问题。
处理方案:
1,运维在数据库层面做了代理优化,并且做了限流,增加IDC的带宽。
2,APP专题页面和秒杀产品详情页面做了缓存机制,图片用的CDN,秒杀产品的状态做了局部异步刷新。
3, H5专题和秒杀详情做了CDN缓存引流机制。
4,秒杀逻辑做了优化,进入详情页每批200人放入(超过等待页面倒计时跳转),下单限制100人进入(30秒)
5,500、502、404页面优化,避免破窗
下一步:架构需要从底层优化,数据结构需要重新梳理,历史数据需要清洗
6月26号 7.56K 6月27号 5.09K 6月28号 4.28K 6月29号 11.09K 6月30号 4.28K 7月1号 1.81K 7月2号 1.6K 7月3号 6.91K 7月4号 6.62K 7月5号 5.4K 7月6号 8.98K 7月7号 6.14K 7月8号 2.73K 7月9号 2.97K 7月10号 9.13K 7月11号 8.51K 7月12号 7.08K 7月13号 6.95K 7月14号 7.91K 7月15号 4K 7月16号 2.17K 7月17号 --- 7月18号 11.45K
原理:
1,列表和详情每5秒生成一次缓存写入redis
2,页面读取redis缓存
3,列表,详情生成静态页面
4,列表静态页面上做局部异步刷新(5秒刷新一次),读缓存(就是1,里边生成的缓存)
5,详情静态页也做了局部异步刷新,但详情秒杀按钮做了控制—前100个人
周年庆相关命令
执行定时跑的缓存命令
cd /home/www/fmb.dianping/public_html;nohup php index.php product cmdrun anniversary cache_create_invit_home &
cd /home/www/fmb.dianping/public_html;nohup php index.php product cmdrun anniversary cache_create_invit_activity_api &
更新活动状态
update fmb_product_index set sell_stat=2 where ap_id=活动id limit 1 \G
update fmb_new_activity set sell_stat=2 where aid=活动id limit 1 \G
首页生成静态页地址(复制源码即可)
http://m.fumubang.net/mobile/anniversary/index?html_create=create&city_id=1 北京---anniversary_bj.html
http://m.fumubang.net/mobile/anniversary/index?html_create=create&city_id=2 上海---anniversary_sh.html
详情页生成静态地址(复制源码即可)
http://m.fumubang.com/mobile/hd_detail/活动id.html?is_html=2 只允许app购买---活动id.html
http://m.fumubang.com/mobile/hd_detail/活动id.html?is_html=1 购买---活动id.html
将文件复制到/home/www/fmb.photo文件夹下,在后台 系统管理=》CDN缓存里 URL 选择img3.fumubang.com Path填写cdn域名后面的地址,提交。访问cdn的地址即可