同一个网站,有的用户说好用,有的用户投诉慢,Web性能差吗?
从用户角度出发,收集用户的使用反馈,很多吐槽都提到了慢,经调研用户最关注的是速度,所以Web性能主要指网站加载、响应速度。它包括客观的指标和用户在访问应用时所感受到的性能情况。主观的用户性能感知受到用户设备、网速快慢和用户的主观感受影响,导致性能是相对的。
而谈论性能,重要的是精确,并且根据能够进行定量测量的客观标准来论及性能。通过什么信息来分析系统性能,如何判定好坏? Google提供了思考性能问题的方法论,以用户为中心的性能模型 - RAIL。
RAIL性能模型
用户感知到的“性能”是什么?
- 0 - 16ms 动画流畅
- 0 - 100ms 即时响应
- 1s + 慢,用户失去耐心
- 10s 以上 非常慢,用户可能放弃使用
将用户体验根据关键动作分为4个独立的模块:response (响应)、animation(动画)、idle(浏览器空置状态)和load(加载),结合用户对时间的感知,明确了对用户体验影响最大的性能目标。
如果在每个模块上,都可以达到性能优化的目标值,那么最终用户感受到的将会是极致的体验。
目标与准则
- Response 100ms内完成交互
- 50ms内处理完事件
- 对耗时长的操作提供即时反馈,比如说“加载中”的标识。如果用户点击后没有得到任何反馈,用户会质疑系统是否有问题
- Animation 流畅的视觉效果
- 动画并不止酷炫的效果,只要是视图变化都算动画,包括滚动,拖拽
- 16ms内生成一帧,达到60fps
- Idle 即时响应用户
- 尽可能增加空闲时间
- 利用空闲时间
- 始终以用户操作为最高优先级
- Load 5s内可操作
- 1s内渲染