WEB 开发性能优化:核心定义介绍篇(1)

作者:莫卓颖

随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中对用户来说最重要的体验指标是如何快速、稳定的访问业务网站以及产品功能,既是网站的性能。本系列文章将会从前后端性能指标定义、性能工具使用、产品业务核心性能指标、前后端性能解决方案出发对这个性能优化体系进行完整的阐述。

建议阅读人群:前端工程师、后端工程师、产品经理

核心性能定义介绍:

由于涉及前后端的性能指标、定义非常多,本文将重点介绍对前后端影响比较大的指标,让大家对性能优化的核心指标有个整体的认识与了解

后端性能定义

  • DNS时间:用户在浏览器输入网址名称(网址)后,浏览器通过查询DNS服务器所需要的时间。
  • 建立连接时间:根据TCP协议要求,请求方(浏览器等)与接受方(服务器)经过一系列协商所需要的时间。
  • 服务器处理时间:接收方(服务器)处理请求所需时间。
  • 数据传输时间:从请求方(浏览器等)到接收方(服务器)以及从接收方(服务器)到请求方的时间。

前端性能定义:

  • 白屏时间:用户浏览器输入网址后至浏览器出现至少1px图片为止。
  • 首屏时间:用户浏览器首屏内所有的元素呈现所花费时间。
  • 用户可操作时间(dom ready) :网站某些功能可以使用的时间。
  • 页面总下载时间(onload):网站中所有资源加载完成并且可用时间。

影响核心性能因素:

  • DNS时间:与DNS设置的TTL时间以及DNS服务器有关。
  • 建立连接时间:与用户、服务器的网速、带宽有关。
  • 服务器起处理时间:与程序复杂度、服务器性能相关。
  • 数据传输时间:资源大小、用户、服务器的网速、带宽有关。
  • 白屏时间:与后端性能指标、前端headtime以及页面结构设计。
  • 首屏时间:与白屏时间以及页面首屏程序设计有关。
  • 用户可操作时间:与页面结构设计相关。
  • 页面总下载时间: 与页面资源多少相关。

总结

其实在性能优化领域还有很多细节值得探索和挖掘,这篇文章先让大家对核心性能优化有一个直观的了解以及认识,下篇文章将会从性能工具角度考虑,如何检测性能优化中遇到的问题。

原文链接:http://ivweb.io/topic/556bcd1773956de01fad07fe

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏phodal

我的职业是前端工程师【七】:你真的懂前后端分离吗?

前后端不分离,是怎样的?大概也只有我们这些『老古董』们,才对此有更多感受。不对,那些写 React 的人,可能会对此也有一些体会。 今天,如果有一个前端工程师说...

1868
来自专栏SDNLAB

VMware将其SDN软件扩展到非VMware环境中工作

VMware本周发布了其虚拟网络软件的两个新版本,一个是为vSphere 6.3版本服务且与其他VMware产品深度集成的NSX软件(VMware NSX fo...

2684
来自专栏小狼的世界

关于框架的一些思考

如果你的团队很小并且在软件开发领域也没什么经验,那么放下包袱使用开源框架吧(OSS Framework),但是如果你有一个很大而且有丰富经验的团队,那么最好还是...

673
来自专栏花叔的专栏

小游戏能互相直跳,开源一个交叉营销组件

jocross.js 是微信小游戏上的一个交叉营销组件,找作者收录小游戏后,接入代码即可展示相关游戏入口(其他游戏能展示自己游戏入口),目前展示逻辑为随机展示三...

891
来自专栏ytkah

微信硬件平台智能路由行业解决方案

路由器是提供Wi-Fi网络的重要设备,服务了亿万的家庭,但依然被认为是非常专业的设备,普通用户都不懂得如何使用。我们希望通过微信硬件平台的能力,降低用户使用路由...

2666
来自专栏杨建荣的学习笔记

脚本改进的一点体会(r12笔记第60天)

一直以来我们想要推进内部的自动化系统,但是总是会遇到各种各样具体的问题,有时候我们准备好了,但是总是会有一些因素的干扰,再加上工作时间的安排,有些事情就一...

3339
来自专栏Java架构师历程

WebBuilder —— Web 开发平台

WebBuilder是一款跨平台、数据库和浏览器的可视化Web应用开发平台,使用了多项最新的技术,使Web应用的开发更快捷和简单。

2504
来自专栏IMWeb前端团队

性能优化--核心定义介绍篇(1)

随着 互联网的蓬勃发展,并且伴随着产品功能的越来越复杂,对于技术人员来说最大的挑战就是如何在保证业务快速发展的同时,也可保证不断复杂的业务对用户体验的影响,其中...

2097
来自专栏美团技术团队

【美团技术团队博客】前端组件化开发实践

前言 一位计算机前辈曾说过: Controlling complexity is the essence of computer programming. 随着...

5015
来自专栏向治洪

Android Topeka介绍

概述 当你已经做Android开发一段时间,并苦于进入瓶颈,这个时候阅读一些优秀App的源码是最好的学习进阶方式,前几天,邀请去参加一个Android大会,我作...

2098

扫码关注云+社区