本文背景
抽奖助手小程序昨天已正式上线运营,第一天突破5000用户访问,给我带来了很大压力,不过总体结果是好的,期间没有出现重大逻辑问题
本文内容
本文主要分析抽奖助手小程序上线第一天遇到的一些问题,首先我们看下第一天的数据
f
f
上图为当天23点截图,所以第一天有5000用户来访问,带来一定压力是肯定的,遇到几个问题
(1)由于用户数据过大,导致抽奖环节没有拿到用户的信息
这个问题主要是由于我在抽奖环节,第一步会将所有用户信息拿到,然后做个map映射,方便后面根据openid来取,但是我当时是只取了1000条,因为我印象中最大limit是1000条,但是昨天在逛论坛的时候发现,limit已经可以突破10000了,
这个问题,我在中午的时候以及处理好了,通过分页方式拿到所有用户信息
(2)维护参加抽奖的集合达到了10000多,造成查询非常之慢,
这个问题主要是由于任何集合数据过大,查询其中一条数据肯定会慢,目前只能通过添加索引,加了索引之后效果是立竿见影的
(3)订阅消息的改造
之前通过一次性订阅消息下发开奖通知,是直接跳小程序首页,昨天晚上把这个地方进行小的优化,直接到参加抽奖页,可以查看具体的中奖情况
(4)云函数超时
到了中午的时候,发现很多页面都打不开了,经过分析发现页面中的部分云函数都超时了,这个问题,目前是将云函数配置的超时时间都改为上限20秒
其次说说抽奖的逻辑
在之前抽奖逻辑是我自己实现的,通过将参加某个抽奖的记录数据乱序后,取前面几条作为抽奖结果,其实大可不必,因为云开发的数据库查询有个sample,这个操作可以随机取,目前这个问题留给我后续优化吧
f
界面截图
昨天最大一个抽奖,有超过900多人参与,如下图所示
f
f
f
f
本文总结
文本通过复盘抽奖助手上线第一天遇到的问题以及解决的具体方案,回顾的同时,对自己的知识进行一个梳理,这是一个好的习惯,希望在以后每个经典小程序版本上线后,都有这种总结的文章
f
f