随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中对用户来说最重要的体验指标是如何快速、稳定的访问业务网站以及产品功能,既是网站的性能。本系列文章将会从前后端性能指标定义、性能工具使用、产品业务核心性能指标、前后端性能解决方案出发对这个性能优化体系进行完整的阐述。
建议阅读人群:
前端工程师、后端工程师、产品经理
核心性能定义介绍:
由于涉及前后端的性能指标、定义非常多,本文将重点介绍对前后端影响比较大的指标,让大家对性能优化的核心指标有个整体的认识与了解
后端性能定义
- DNS 时间:用户在浏览器输入网址名称(网址)后,浏览器通过查询 DNS 服务器所需要的时间
- 建立连接时间:根据 TCP 协议要求,请求方(浏览器等)与接受方(服务器)经过一系列协商所需要的时间
- 服务器处理时间:接收方(服务器)处理请求所需时间
- 数据传输时间:从请求方(浏览器等)到接收方(服务器)以及从接收方(服务器)到请求方的时间
前端性能定义:
- 白屏时间:用户浏览器输入网址后至浏览器出现至少 1px 图片为止
- 首屏时间:用户浏览器首屏内所有的元素呈现所花费时间
- 用户可操作时间 (dom ready) :网站某些功能可以使用的时间
- 页面总下载时间 (onload): 网站中所有资源加载完成并且可用时间
影响核心性能因素:
- DNS 时间:与 DNS 设置的 TTL 时间以及 DNS 服务器有关
- 建立连接时间:与用户、服务器的网速、带宽有关
- 服务器起处理时间:与程序复杂度、服务器性能相关
- 数据传输时间:资源大小、用户、服务器的网速、带宽有关
- 白屏时间:与后端性能指标、前端 headtime 以及页面结构设计
- 首屏时间:与白屏时间以及页面首屏程序设计有关
- 用户可操作时间:与页面结构设计相关
- 页面总下载时间: 与页面资源多少相关
总结
其实在性能优化领域还有很多细节值得探索和挖掘,这篇文章先让大家对核心性能优化有一个直观的了解以及认识,下篇文章将会从性能工具角度考虑,如何检测性能优化中遇到的问题。