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. 加入 Flutter Engage,Pick 您的专属 Dash 形象!

    Flutter Engage 活动精彩来袭 对 Flutter 团队的开发者们来说,交流的重要性不言而喻,和您一样,我们也希望开发者们能够在不同的情境下进行互动分享.于是我们为您准备了一场特别的线上活 ...

  2. 暑假集训CSP提高模拟2

    A.活动投票 主元素问题,用摩尔投票 #include<bits/stdc++.h> using namespace std; int n,a=-1,acnt,x; int main(){ ...

  3. 使用MessagePipe实现进程间通信

    1.MessagePipe介绍 可以用于.NET和Unity上面的高性能的内存/分布式消息传递管道.适用于发布/订阅模式.CQRS的中介模式.Prism中的EventAggregator.IPC(进程 ...

  4. Linux 系统常见 的命令

    uname -a 查看linux 的版本信息 : pwd :打印当前的工作目录 ,print work directory: cd  改变目录 ,change directory : cd . 当前目 ...

  5. KubeSphere 镜像构建器(S2I)服务证书过期解决方案

    目前 KubeSphere 所有 3.x.x 版本,如果开启了 DevOps 模块并使用了镜像构建器功能(S2I)都会遇到证书过期问题. 解决方法 已开启 DevOps 模块 下载这个更新 S2I 服 ...

  6. 我在大厂做 CR——如何体系化防控空指针异常

    大家好,我是木宛哥,今天和大家分享下--代码 CR 时针对恼人的空指针异常(NullPointerException)如何做到体系化去防控: 什么是空指针异常 从内存角度看,对象的实例化需要在堆内存中 ...

  7. Web渗透07_脚本代码注入和OS命令注入( 恐怖级别 )

    1 PHP代码注入 1.1 原理成因 网站对用户的输入过滤出现问题,同时网站的脚本编写用到一些危险函数 eval(),assert().如果被攻击者发现漏洞,直接可能造成攻击者完全控制整个web甚至是 ...

  8. 别再忽视!PostgreSQL Public 模式的风险以及安全迁移

    别再忽视!PostgreSQL  Public 模式的风险以及安全迁移 作者:桦仔 10余年DBA工作经验 微信:debolop QQ交流群:740052625 公众号:数据库实战派 问题起因 前几天 ...

  9. 十四个Python Web框架Hello Wold示例

    1.Dganjo 新建一个django项目,HelloWorld mkdir django cd django django-admin startproject HelloWorld #新建项目 c ...

  10. 负载均衡在web系统中的应用

    在日常的架构设计与开发中,常用的负载均衡算法主要分为静态和动态两类.静态负载算法以固定的频率分配任务不考虑服务器的状态信息,如轮询法.随机法等:动态负载均衡算法以服务器的实时负载状态信息来决定任务的分 ...