web性能是什么呢?

简单来说就是咱们的项目打开的快不快,举以下几个例子

  • 表单提交
  • 列表切换
  • 动画的流程性
  • 打开速度

MDN上对web性能的定义则是Web性能是网站或应用程序的客观度量和可感知的用户体验。所以咱们可以从以下几个方面出发

  • 加载速度
  • 交互和平滑性
  • 感知表现

性能优化流程

  • 确定优化指标:做性能优化必须确定标准,如果没有确定标准,我们就无法知道做到什么程度才是合适的,有可能你自我认为性能已经做的很好了,但是从用户角度来看的实际体验却很糟糕,这就是没有达到目的。

    如果做的过度其实就是人力和收益不成正比,例如加载时间,已经是达到一个极致了,你还要继续优化,例如缩减1ms,但是实际上收益不大,那么此时我们就应该转换战线

  • 利用专业的测试工具去客观的、量化的评估网站的性能:这些工具可以帮我们准确的去评估,获得更多对我们有用的数据。而如果单单通过肉眼去观察的话,那么实际上获取的数据就是很少的

    例如网站加载慢,你所认为的慢其实就是等待时间长,那如果是等待时间长,那我们是不是可以考虑加点动画,让等待时间看起来并不是那么的长,但是除了这个,你没有获得更多的一些对你有用的数据呢

    而且对于不同人来说,有些人觉得慢,有些人觉得还行,那这时候你就要展示你获得的数据去证实你的观点,用数据说话往往是最有力的

  • 基于网站页面的生命周期,去分析造成性能差的客观原因,而不是说主观的自我感觉,还是一句话拿数据说话

  • 基于上一步定位到的原因,去找到收益最高的技术方案进行改造(这一步的话主要看自身项目的业务场景和需求了)

  • 持续改进:很多东西不是一蹴而就的,不是说一天你就能把这个给优化的很好,毕竟我们程序猿也是人嘛,考虑的方面也会有些许欠缺,这是一个渐进式的一个过程,特别是对于一些巨石项目

性能优化指标

RAIL 性能模型:

RAIL 是 Response, Animation, Idle, 和 Load 的首字母缩写, 是一种由 Google Chrome 团队与 2015 年提出的性能模型, 用于提升浏览器内的用户体验和性能. RAIL 模型的理念是 "以用户为中心;”最终目标不是让您的网站在任何特定设备上都能运行很快,而是使用户满意

基于用户体验的性能指标:

基于用户体验的性能指标是 Google Chrome 团队与 2019年提出的(https://web.dev/i18n/zh/user-centric-performance-metrics/)。简单来说其实就是精确指标。例如:我们说网站加载慢,那么用应该用哪些指标去衡量它慢

测量工具

下面推荐几款非常好用测量工具,用起来!

  • webPageTest: 免费并且专业 https://www.webpagetest.org/ 功能强大,可以设置不同浏览器、不同地区等等。十分推荐

  • chrome devtools:浏览器任务进程管理、performance看板、memory看板等等

  • lightHouse:可以评估网站分数,还会得出指标评分以及建议

对于web性能优化我有话说!的更多相关文章

  1. Web性能优化-合并js与css,减少请求

    Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...

  2. Web 性能优化:21 种优化 CSS 和加快网站速度的方法

    这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...

  3. 关于WEB 性能优化 (摘抄)

    压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色 ...

  4. web性能优化——浏览器相关

    简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 ...

  5. Web性能优化系列

    web性能优化之重要,这里并不打算赘述.本系列课程将带领大家认识.熟悉.深刻体会并且懂得如果去为不同的站点做性能优化 同时,本系列将还会穿插浏览器兼容性相关问题的解决方案,因为在我看来,兼容性同样属于 ...

  6. 移动web性能优化笔记

    移动web性能优化 最近看了一些文章,对移动web性能优化方法,做一个简单笔记 笔记内容主要出自 移动H5前端性能优化指南和移动前端系列——移动页面性能优化

  7. web性能优化 来自《web全栈工程师的自我修养》

    最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...

  8. web性能优化之--合理使用http缓存和localStorage做资源缓存

    一.前言 开始先扯点别的: 估计很多前端er的同学应该遇到过:在旧项目中添加新的功能模块.或者修改一些静态文件时候,当代码部署到线上之后,需求方验收OK,此时你送了一口气,当你准备开始得意于自己的ma ...

  9. Web 性能优化:Preload与Prefetch的使用及在 Chrome 中的优先级

    摘要: 理解Preload与Prefetch. 原文:Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级 作者:前端小智 Fundebug经授权转载,版权归原作者所 ...

  10. Web 性能优化: 图片优化让网站大小减少 62%

    摘要: 压缩各种格式的图片. 原文:Web 性能优化: 图片优化让网站大小减少 62% 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是 Web 性能优化的第二篇,上一篇在下面看点 ...

随机推荐

  1. Asp.net core 学习笔记 ( 小东西 )

    简单的为 url 添加 query var parametersToAdd = new System.Collections.Generic.Dictionary<string, string& ...

  2. 关于HOJ的搭建和二开经验小结

    经验在最后,先说流程. 除了HOJ,之前先装的HDU,属实难用,然后是hustOJ,嗯很好用,但架不住丑,对管理员实在不友好. 好了不闲记,进入正题: 一.流程 1.官网文档先过一遍. 2.配置好do ...

  3. @RequestBody注意事项

    使用@RequestBody注解时,是用于接收Content-Type为application/json类型的请求,数据类型是JSON:{"aaa":"111" ...

  4. [OI] 容斥原理拓展

    10.容斥原理拓展 10.1 二项式反演 \[P.10.1(1) \] 设 \(U=\{S_1,S_2,S_3...S_n\}\),且任意 \(i\) 个元素的交集都相等 定义 \(g(x)\) 为 ...

  5. .Net 依赖注入深入探索,做一个DI拓展,实现一个简易灵活的 自动依赖注入框架

    一.依赖注入相关知识 1.1.依赖注入的原理和优点 依赖注入(DI),是IOC控制反转思想 的实现.由一个DI容器,去统一管理所有的服务生命周期,服务的创建.销毁.获取,都是由DI容器去处理的. 依赖 ...

  6. Android内存分析命令

    一.内存指标 Item 全称 含义 等价 USS Unique Set Size 物理内存 进程独占的内存 PSS Proportional Set Size 物理内存 PSS= USS+ 按比例包含 ...

  7. 数列专题2 求数列的前n项和

    \({\color{Red}{欢迎到学科网下载资料学习 }}\) [ [基础过关系列]高二数学同步精品讲义与分层练习(人教A版2019)] ( https://www.zxxk.com/docpack ...

  8. 15. Vue 数据双向绑定原理

    在初始化 Vue 实例的时候,会遍历data中的数据,通过 Object.defineProperty 给数据添加 getter 和 setter 函数 ,获取数据触发 getter 函数 ,修改数据 ...

  9. 0402-Tensor和Numpy的区别

    0402-Tensor和Numpy的区别 目录 一.tensor数据和ndarray数据相互转换 二.广播法则 pytorch完整教程目录:https://www.cnblogs.com/nickch ...

  10. KubeSphere 网关的设计与实现(解读)

    作者:泓舟子,KubeSphere 后端研发工程师,云原生爱好者,现专注于云原生微服务方向. KubeSphere 中为什么需要网关? 如果需要将 K8s 集群内的服务暴露到外部访问有那些方式呢?可以 ...