首页 > 其他 > 详细

项目随笔

时间:2018-01-04 17:48:07      阅读:203      评论:0      收藏:0      [点我收藏+]

前因:最近上线的一个微信公众号,粉丝在60w+,每次客户推送公众号文章时,数据库必爆炸

硬件:服务器webapp 4实例

     数据库p4

排查:最初服务器是双实例s2->升级到4实例s3->服务器ok,没有挂掉,但是数据库爆炸

     数据库升级到p6->不行->临时升级到p11,ok->高峰期过后,降回p6,最终数据库定为p6

定位:因为公众号有2个菜单需要验证用户是否绑定,每次推送会有大量引流,导致验证绑定查询数据库次数过多,响应速度低于微信要求的5s,导致需要验证绑定的菜单全部崩溃

解决:1、给会员表查询字段openId和mobile增加聚合索引

   2、优化查询代码,减少查询次数

      3、新增redis存储会员数据,定时任务每天00:30同步所有会员数据到redis中,验证会员绑定时,先查询redis数据,当redis超过最大连接数之后,在把流量压给数据库

总结:1、会员表中本来可以把查询条件之一的openid作为主键的,但是由于某些原因并未将openId作为主键

 

项目随笔

原文:https://www.cnblogs.com/swingzhang/p/8193991.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!