性能优化一条龙

性能优化

根据实际情况做性能优化的流程和分析。

性能优化的话,可以从很多方面,ui优化,组件优化,打包体积优化,页面优化等,但我们要监控这个页面哪些指标需要优化,比如FP,FCP,FMP ,如果是fp时间过长,就要从网络层面进行优化,现在普遍的都是http1.1的请求方式,就要去考虑要不要升级到http2,采用一种多路复用 的能力,或者再上一层,可以考虑dns解析的速度是否过慢,可以考虑是否用dns缓存或者dns预解析 去解决问题,然后做一些预加载的过程。如果是fcp时间过长,那就是说浏览器渲染第一块时间过长,我们浏览器接收的包的体积过大,导致我们解析过慢,我们考虑一下是否要进行拆包处理,也要对图片进行一些压缩操作,大概能想到的,也就这两种。如果是fmp时间过长,那就是说浏览器绘制时间过长,这要从代码层面去解决问题,可以通过ssr,在服务端进行渲染,然后返回,其实压缩图片体积,也能优化FMP的时间。

FP:first paint 白屏时间,如果是fp时间过长,就要从网络层面进行优化,现在普遍的都是http1.1的请求方式,就要去考虑要不要升级到http2,采用一种多路复用的能力,或者再上一层,可以考虑dns解析的速度是否过慢,可以考虑是否用dns缓存或者dns预解析去解决问题,然后做一些预加载的过程。

FCP:如果是fcp时间过长,那就是说浏览器渲染第一块时间过长,我们浏览器接收的包的体积过大,导致我们解析过慢,我们考虑一下是否要进行拆包处理,也要对图片进行一些压缩操作,大概能想到的,也就这两种。

FMP:如果是fmp时间过长,那就是说浏览器绘制时间过长,这要从代码层面去解决问题,可以通过ssr,在服务端进行渲染,然后返回,其实压缩图片体积,也能优化FMP的时间。

多路复用:http1.1中,浏览器同一时间只能发送一个请求。当一个请求占用通道时,其他请求只能等待,即使他能立即响应,消耗了很多等待时间。h2中通过多路复用的方式解决了对头阻塞的问题。提高了传输效率,h1.1是通过文本方式进行传输的,而http2引入了帧和流的概念,链接成功后,一条链接上,可以以二进制的方式发送多条消息,彼此之间互不影响,这就解决了对头阻塞的问题。

DNS解析

就是当你进行请求的时候,服务器会把你的域名解析成ip,这个过程就是dns的解析过程,优化dns过慢的问题,可以通过cdn服务进行dns负载均衡,或者进行dns缓存,dns预解析,都能提高速度。

cdn服务进行dns负载均衡:即cnd服务器会将用户请求导向最近的cdn服务站,然后当进行dns解析时,cdn服务站会返回距离最近的服务站的ip地址,从而加速内容的运输。

dns缓存:对请求的域名和ip结果在本地进行缓存,以便在将来的DNS查询中重复请求。

dns预解析:预解析是一种浏览器技术,它可以在后台对网页中的域名进行解析,以便提前获取域名对应的IP地址或其他资源,从而加速网页的加载速度。预解析可以通过

标签来实现。

ssr服务端渲染

这个晚些会单出一个文档,这里就放一个链接了

深入浅出 SSR 及 Nuxt.js 初体验 - 掘金

相关推荐
旭日猎鹰4 分钟前
Flutter踩坑记录(二)-- GestureDetector+Expanded点击无效果
前端·javascript·flutter
Viktor_Ye11 分钟前
高效集成易快报与金蝶应付单的方案
java·前端·数据库
hummhumm13 分钟前
第 25 章 - Golang 项目结构
java·开发语言·前端·后端·python·elasticsearch·golang
乐闻x39 分钟前
Vue.js 性能优化指南:掌握 keep-alive 的使用技巧
前端·vue.js·性能优化
一条晒干的咸魚41 分钟前
【Web前端】创建我的第一个 Web 表单
服务器·前端·javascript·json·对象·表单
花海少爷1 小时前
第十章 JavaScript的应用课后习题
开发语言·javascript·ecmascript
Amd7941 小时前
Nuxt.js 应用中的 webpack:compiled 事件钩子
前端·webpack·开发·编译·nuxt.js·事件·钩子
生椰拿铁You1 小时前
09 —— Webpack搭建开发环境
前端·webpack·node.js
狸克先生1 小时前
如何用AI写小说(二):Gradio 超简单的网页前端交互
前端·人工智能·chatgpt·交互
sinat_384241091 小时前
在有网络连接的机器上打包 electron 及其依赖项,在没有网络连接的机器上安装这些离线包
javascript·arcgis·electron