下面是之前看到的一篇文章,出处不记得了,简单总结和翻译下
1 首先网站的1s延迟会带来大量的商机流失,首页加载速度非常重要
2 加载的过程和时间分级
用户请求到机器------前端渲染------后端渲染
3 前端部分
前端的渲染过程(dom----cssom----rendertree----layout-paint)
优化crp思路
减少关键资源个数和大小
缩短crp长度?
开启浏览器缓存
优化的方法
剖析(借助网站分析工具分析crp优化建议,gtmetrix,webpagetest,pagespeed insights)
处理内联和css优化工具(processhtml,postcss)
js优化
4 网络性能优化
时间分布
dns解析------连接初始化------内容下载
摘自网络:
当我们键入到浏览器并回车,浏览器以启动DNS查询来识别与 域相关的IP地址。这种查找必须对每个单独的域进行。
与所接收的IP地址,浏览器发起TCP连接与服务器。在TCP握手需要2个往返(1 )。使用安全的SSL连接 TLS握手需要额外的2往返(1 或)。
初始连接之后,浏览器发送的实际请求并等待数据进来,这时候第一字节很大程度上取决于客户机和服务器之间的距离,并包括在服务器来呈现页面(包括会话查找所需要的时间,数据库查询,模板渲染等)。
最后一步是在下载资源中potentionally许多往返(在此情况下的HTML)。特别是新连接通常需要很多往返,因为初始拥塞窗口很小。这意味着TCP没有从一开始就使用完整带宽的权利,但增加了它随时间(见。速度受到慢启动算法的支配,该算法使每次往返的拥塞窗口中的段的数量加倍,直到丢包发生。在移动和Wifi网络上丢失数据包因此具有很大的性能影响。
事实证明带宽速度从5Mbps到以上则增加相应的内容并不会增加同等效率的收益
延迟的处理和优化
持久连接
减少重定向(??)
优先使用HTTP 2.0
指定缓存头
使用cdn来缓存图像,css,html和js等静态资源
界面通过小的部件异步加载
5 后端性能优化
可扩展均衡器,无状态应用服务器,分布式数据库
6 AMP