对于web性能优化我有话说!
web性能是什么呢?
简单来说就是咱们的项目打开的快不快,举以下几个例子
- 表单提交
- 列表切换
- 动画的流程性
- 打开速度
MDN上对web性能的定义则是Web性能是网站或应用程序的客观度量和可感知的用户体验。所以咱们可以从以下几个方面出发
- 加载速度
- 交互和平滑性
- 感知表现
性能优化流程
确定优化指标:做性能优化必须确定标准,如果没有确定标准,我们就无法知道做到什么程度才是合适的,有可能你自我认为性能已经做的很好了,但是从用户角度来看的实际体验却很糟糕,这就是没有达到目的。
如果做的过度其实就是人力和收益不成正比,例如加载时间,已经是达到一个极致了,你还要继续优化,例如缩减1ms,但是实际上收益不大,那么此时我们就应该转换战线利用专业的测试工具去客观的、量化的评估网站的性能:这些工具可以帮我们准确的去评估,获得更多对我们有用的数据。而如果单单通过肉眼去观察的话,那么实际上获取的数据就是很少的
例如网站加载慢,你所认为的慢其实就是等待时间长,那如果是等待时间长,那我们是不是可以考虑加点动画,让等待时间看起来并不是那么的长,但是除了这个,你没有获得更多的一些对你有用的数据呢
而且对于不同人来说,有些人觉得慢,有些人觉得还行,那这时候你就要展示你获得的数据去证实你的观点,用数据说话往往是最有力的基于网站页面的生命周期,去分析造成性能差的客观原因,而不是说主观的自我感觉,还是一句话拿数据说话
基于上一步定位到的原因,去找到收益最高的技术方案进行改造(这一步的话主要看自身项目的业务场景和需求了)
持续改进:很多东西不是一蹴而就的,不是说一天你就能把这个给优化的很好,毕竟我们程序猿也是人嘛,考虑的方面也会有些许欠缺,这是一个渐进式的一个过程,特别是对于一些巨石项目
性能优化指标
RAIL 性能模型:
基于用户体验的性能指标:
基于用户体验的性能指标是 Google Chrome 团队与 2019年提出的(https://web.dev/i18n/zh/user-centric-performance-metrics/)。简单来说其实就是精确指标。例如:我们说网站加载慢,那么用应该用哪些指标去衡量它慢
测量工具
下面推荐几款非常好用测量工具,用起来!
webPageTest: 免费并且专业 https://www.webpagetest.org/ 功能强大,可以设置不同浏览器、不同地区等等。十分推荐
chrome devtools:浏览器任务进程管理、performance看板、memory看板等等
lightHouse:可以评估网站分数,还会得出指标评分以及建议
对于web性能优化我有话说!的更多相关文章
- Web性能优化-合并js与css,减少请求
Web性能优化已经是老生常谈的话题了, 不过笔者也一直没放在心上,主要的原因还是项目的用户量以及页面中的js,css文件就那几个,感觉没什么优化的.人总要进步的嘛,最近在被angularjs吸引着,也 ...
- Web 性能优化:21 种优化 CSS 和加快网站速度的方法
这是 Web 性能优化的第 4 篇,上一篇在下面看点击查看: Web 性能优化:使用 Webpack 分离数据的正确方法 Web 性能优化:图片优化让网站大小减少 62% Web 性能优化:缓存 Re ...
- 关于WEB 性能优化 (摘抄)
压缩源代码和图片 JavaScript文件源代码可以采用混淆压缩的方式,CSS文件源代码进行普通压缩,JPG图片可以根据具体质量来压缩为50%到70%,PNG可以使用一些开源压缩软件来压缩,比如24色 ...
- web性能优化——浏览器相关
简介 优化是一个持续的过程.所以尽可能的不要有人为的参与.所以能自动化的或者能从架构.框架级别解决的就最更高级别解决. 这样即能实现面对开发人员是透明的.不响应,又能确保所有资源都是被优化过的. 场景 ...
- Web性能优化系列
web性能优化之重要,这里并不打算赘述.本系列课程将带领大家认识.熟悉.深刻体会并且懂得如果去为不同的站点做性能优化 同时,本系列将还会穿插浏览器兼容性相关问题的解决方案,因为在我看来,兼容性同样属于 ...
- 移动web性能优化笔记
移动web性能优化 最近看了一些文章,对移动web性能优化方法,做一个简单笔记 笔记内容主要出自 移动H5前端性能优化指南和移动前端系列——移动页面性能优化
- web性能优化 来自《web全栈工程师的自我修养》
最近在看<web全栈工程师的自我修养>一书,作者是来自腾讯的前端工程师.作者在做招聘前端的时候问应聘者web新能优化有什么了解和经验,应聘者思索后回答“在发布项目之前压缩css和 Java ...
- web性能优化之--合理使用http缓存和localStorage做资源缓存
一.前言 开始先扯点别的: 估计很多前端er的同学应该遇到过:在旧项目中添加新的功能模块.或者修改一些静态文件时候,当代码部署到线上之后,需求方验收OK,此时你送了一口气,当你准备开始得意于自己的ma ...
- Web 性能优化:Preload与Prefetch的使用及在 Chrome 中的优先级
摘要: 理解Preload与Prefetch. 原文:Web 性能优化:Preload,Prefetch的使用及在 Chrome 中的优先级 作者:前端小智 Fundebug经授权转载,版权归原作者所 ...
- Web 性能优化: 图片优化让网站大小减少 62%
摘要: 压缩各种格式的图片. 原文:Web 性能优化: 图片优化让网站大小减少 62% 作者:前端小智 Fundebug经授权转载,版权归原作者所有. 这是 Web 性能优化的第二篇,上一篇在下面看点 ...
随机推荐
- Hydra(海德拉)工具使用从0到1,爆破服务器密码,2024最新版
Hydra(海德拉)工具使用从0到1,爆破服务器密码,2024最新版 Hydra简介 Hydra又叫九头蛇,是一款由著名的黑客组织THC开发的开源暴力破解工具,支持大部分协议的在线密码破解,是网络安全 ...
- 火山引擎数智平台:高性能ChatBI的技术解读和落地实践
导读:大模型能力的发展和成熟,催生出新一代智能化 BI-- ChatBI,即通过自然语言处理(NLP)与大型语言模型(LLMs)的结合,极大简化数据分析过程,提高效率并降低分析门槛.火山引擎数智平台旗 ...
- JVM(JAVA Virtual Machine)Java虚拟机
JVM的跨平台性 一次编写,到处运行 JVM将字节码文件编译成对应操作系统的机器码 JVM的语言无关性 JVM的内存区域 虚拟机栈:在JVM运行过程中存储当前线程运行方法所需的数据,指令.返回地址 本 ...
- 关于 CLOI 头像&博客主题征集
是这样的,开了一个新号准备做一个官号,当作一个公告栏(?),大家访问博客或者看消息也方便 现在苦于脑袋比较笨,想不出头像来,有意者可以帮设计下 此外,还(选择性地)需要一个博客主题,主要是简洁,打开会 ...
- `std::future`--异步的优势
std::future 相比于直接使用线程在 C++ 中有几个重要的优势,主要体现在同步结果获取.简化代码管理.以及更安全的异步任务管理等方面.以下是 std::future 的一些主要优势: 1. ...
- 称骨算命免费api接口_json数据接口示例_八字称骨测算程序php接口
称骨算命是算命方法的一种,和生辰八字算命.紫微斗数算命异曲同工,略有不同,虽然都是用出生的时间算命,但比较而言,称骨算命将命运分的比较粗略,只是把命运分为五十一种.故对命运的考察不细致,不太准确,可以 ...
- USB协议详解第10讲(USB描述符-报告描述符)
1.报告描述符的概念和作用 开门见山,报告描述符就是描述报告(HID接口上传输事务中的数据)的一组数据结构. 首先大家可能会问,报告又是什么?我们前面讲过,USB主机一般是以中断的方式向HID设备发送 ...
- Linux PSI--Pressure Stall Information
Google在在Android11及之后版本的LMKD中,使用了psi作为杀进程的策略,本文简单介绍下psi. 转载自使用PSI(Pressure Stall Information)监控服务器资源_ ...
- linux tracepoint增加
引入tracepoint的背景 当需要获取内核的debug信息时,通常你会通过以下printk的方式打印信息: void trace_func() { //-- printk("输出信息&q ...
- 前端面试题axaios携带 cookies
配置 axios.default.widthCredentials = true;