借负责的小程序流量暴增事件总结下优化技巧
之前负责的锡慧在线小程序是一款公益性质在线教育类小程序,因疫情影响导致流量暴增,日访问过百万
高峰期每分钟1w+在线访问
视频播放卡顿严重,使用体验很差。 博主已是离职状态,但是公司内并没有找到可以接手的同学,小程序前端是我从零一手做出来的,有点特殊情感,于是就以小程序顾问的身份帮忙处理了小程序端的工作。
应对本次问题,视频卡顿是选择把视频课件资源从文件服务器上迁移至腾讯云存储,现已经修复发版完毕
在此总结下小程序优化相关知识。
小程序呈现到用户面前,实际上经历了下面两个阶段:
小程序提供的运行环境,分为逻辑层(AppService)和 视图层(webView),逻辑层是执行javascript的地方,视图层是渲染页面的地方。当小程序的代码包下载完毕后,业务代码分别注入逻辑层和渲染层。
控制小程序包的大小
异步请求优化
setData操作优化
this.setData({
list[index] = newList[index]
})
定时器及时销毁
谨慎使用onPageScroll,该事件是一次webview层向js逻辑层的通讯,开销较大
善用小程序组件 自定义组件更新只在组件内部进行,不受页面其他内容影响
canvas渲染
前端数据过滤
开发者工具提供的环境与真机不同,建议真机调试
硬件升级
分析瓶颈
redis缓存
负载均衡 将流量分发到不同的服务器上进行处理,减轻对cpu的压力
服务端建议尝试云开发,有腾讯云的基础服务加持也是可以支撑起百万级访问的