性能优化是日常工作经常需要关注的事情,但是针对一些特殊的场景,例如 高并发活动,我们需要针对性得进行优化。
高并发活动特点
- 用户量大
- 访问量大
- 业务复杂
- 实时性要求高
针对高并发活动的特点,大家可能会觉得应该后台同学需要关注,前端同学做不了什么? 事实上,前端作为用户的入口,也需要针对性的做很多性能优化工作。
后台同学关注点
- 横向扩容机器,增加网卡带宽
- 负载均衡,提高系统整体吞吐
- 数据库优化,使用redis、读写分离、分库分表等。(当然还有很多分布式问题需要解决)
前端同学关注点
首先保证常规的性能优化,如资源压缩,缓存,按需加载等,其次针对性的性能优化
- 活动预热:
- 缓存资源: 通过活动预热的方式,将一些资源提前加载,缓存到用户的客户端。
- 数据加热: 通过活动预热的方式,续期 Token , 数据加热从 mysql 更新到 redis
- 业务优化
- 流程优化: 在一些必要流程中添加 loading , 减少并发量,给业务处理预留时间
- 限流: 在一些关键流程之前添加限流,保护系统,防止过载
- 降级: 业务过载之后,使用替代方案保证流程;或者关闭非核心业务。
- 带宽优化: 非业务接口,使用不同域名,减少业务接口的带宽占用
- 业务数据缓存
- 业务数据分类: 给实时性要求不是很高数据的制定缓存策略。